Search: \.*

Education/Criptografia Web Changed Changed by
AvisosCSSI0809 13 Jul 2009 - 18:34 - r10 ManuelBernardoBarbosa
13/07: Disponíveis notas de GSI/PSC (secção de Avaliação).

15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação).

03/03: Disponíveis notas finais do módulo de CSI.

07/02: Data/Hora do teste de CSSI -- 10/02/2009 às 16:00.

12/01: As apresentações de PI de 3ª (13/01) terão início às 14:30.

12/01: Disponível avaliação prática de CSI.

19/12: As entregas/apresentações dos segundos projectos de PI ficam marcadas para o dia 13 de Janeiro pelas 14:00.

19/12: As aulas de reposição do módulo de SSI serão no dia 6 de Janeiro às 14:00.

10/11: Nova versão dos slides de técnicas criptográficas.

21/10: Já está disponível a primeira parte dos apontamentos do módulo de técnicas criptográficas.

05/10: A aula de TC no dia 07/10 começa somente às 10:00.

AvisosCriptoBio0809 04 Feb 2009 - 05:08 - r6 JoseBacelarAlmeida
03/02/2009: Já estão disponíveis as notas do teste.

12/01/2009: Já está disponível a avaliação prática da disciplina.

30/12/2008: Sessão de defesa dos trabalhos será a 06/01/2009, pelas 10:00. A data limite para entrega (por email) é às 0:00 de 05/01/2009.

24/09/2008: Versão recomendada do Eclipse: Eclipse IDE for Java EE Developers (162 MB)

CANewS0506 19 Sep 2008 - 13:24 - r10 JoseBacelarAlmeida

  • Para consultar os exames, contactar docente na segunda feira dia 6 de Fevereiro entre as 14 e as 15 horas. -- ManuelBernardoBarbosa - 2 Fev 2006

  • As entregas dos trabalhos práticos terão lugar na 6a Feira dia 6 de Janeiro. A partir de 3a Feira dia 27 de Dezembro estará disponível na recepção do DI uma folha de inscrições. Cada docente receberá os trabalhos dos alunos do seu turno (em caso de grupos mistos é indiferente).

  • Alteração nos horários: Aula teórica (2a 14-16), TP1 (2a 16-18), TP2 (2a 18-20). -- ManuelBernardoBarbosa - 21 Sep 2005

CANews0405 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
  • A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da tarde. -- ManuelBernardoBarbosa - 19 Jan 2005

CANews0607 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Para consultar os exames da época especial, contactar mbb. -- -- ManuelBernardoBarbosa - 20 Set 2007

Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre as 15 e as 16. -- ManuelBernardoBarbosa - 27 Feb 2007

Consultas a exames: 2a Feira dia 5 de Fevereiro entre as 14 e as 15. -- ManuelBernardoBarbosa - 01 Feb 2007

Datas de entrega na primeira semana de Janeiro

Lista dos grupos inscritos para entregar o trabalho. -- ManuelBernardoBarbosa - 06 Dec 2006

As entregas dos trabalhos práticos terão lugar nas semanas antes e depois das férias do Natal. Até ao final de Novembro todos os grupos deverão enviar um e-mail indicando a sua constituição e a sua preferência quanto à semana da entrega e apresentação do trabalho. -- ManuelBernardoBarbosa - 13 Nov 2006

Não haverá aula teórica na 2a feira dia 20 de Novembro. -- ManuelBernardoBarbosa - 13 Nov 2006

-- ManuelBernardoBarbosa - 28 Dec 2006

CANews0708 19 Sep 2008 - 13:24 - r18 JoseBacelarAlmeida
22-02-2008 Já estão disponíveis as notas do exame de recurso.

DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2-105).

28-01-2008 Já estão disponíveis as notas do 2º teste.

18-01-2008 A direcção de curso confirmou a data de 23-01-2008 (9:00, CP2111) para o teste de CA.

14-01-2008 Notas dos Mini-Projectos.

26-12-2007 Notas do teste intermédio.

27-11-2007 Já está disponível o enunciado do projecto prático.

20-11-2007 Estão disponíveis dois novos mini-projectos (aqui).

08-11-2007 O teste intermédio será no dia 13 de Novembro (3a-feira) às 17:00 - sala CP1206.

16-10-2007 Já está disponível o enunciado do primeiro mini-projecto (aqui).

16-10-2007 O teste intermédio será na semana de 12 a 17 de Novembro. O teste final na semana de 21 a 26 de Janeiro.

08-10-2007 As listas de inscritos nos turnos práticos encontram-se aqui.

20-09-2007 As notas da época especial estão disponíveis no site do ano anterior.

18-09-2007 Dado que ainda estão a decorrer exames de disciplinas de LESI, não haverá aula de CA hoje (18-09-2007).

CSI0809 22 Jul 2009 - 01:44 - r14 JoseBacelarAlmeida

Criptografia e Segurança da Informação

2008/2009


Programa

Teoria:

  • Introdução: conceitos e terminologia.
  • Cifras simétricas: sequenciais e por blocos.
  • Funções de Hash criptográficas e Códigos de Autenticação.
  • Criptografia assimétrica: acordo de chaves; cifras de chave pública; assinaturas digitais; certificados digitais.

Prática:

  • Utilização do framework JCA/JCE.
  • Características de segurança do Java.

Programa Detalhado

Avaliação

  • Teste final (50%)
  • Trabalhos práticos (50%)

Avaliação Prática

Nome Nota Prática Teste Recurso Nota Final
Afonso Arriaga 14 16.9 - 16
Bruno Gomes 17 10.7 - 14
Eloi Machado 11 11.5 - 11
Henrique Castro 16 17.3 - 17
Hugo Seixas 13 13.3 - 13
Humberto Longo 14.2 13.8 - 14
João Ferreira 17 12.8 - 15
Manuel Costa 17 13.2 - 15
Mário Costa 9 10 - 10
Marta Fernandes 15 14.1 - 15
Miriam Dias 15 14.8 - 15
Nuno Macedo 17 17.9 - 18
Pedro Pereira 9 - 11 10
Ricardo Coelho 16 17.8 - 17
Sandra Teixeira 14 18.9 - 17
Tiago Fernandes 15 11 - 13
Vicente Fernandes 15 18.3 - 17

Avaliação Teórica

  • Teste (10/02/2009 - 16:00)

Material Disponibilizado

Componente Laboratorial

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press 2001.
  • Java Cryptography, Jonathan Knudsen, O'Reilly 1998.


CSI0809Programa 01 Jul 2009 - 11:30 - NEW JoseBacelarAlmeida

Criptografia e Segurança da Informação (UCE CSSI)

Programa detalhado (2008/2009)

Teórica

  • Introdução e Terminologia
    • Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Classificação de Ataques
    • Apresentação de Técnicas Criptográficas
  • Técnicas Criptográficas Simétricas
    • Cifras sequenciais
      • Cifras síncronas e auto-sincronizáveis
      • Utilização de LFSRs
      • RC4
    • Cifras por blocos
      • Modos de Operação
      • Estrutura interna: propriedades de "difusão" e "confusão"; redes S-P; circuitos de Feistel
      • DES
      • AES
      • Noções de criptoanálise
  • Funções de sentido único
    • Breves noções de teoria da complexidade
    • Funções de sentido único
    • Funções de Hash criptográficas
      • Propriedades
      • Aplicações (HMAC; PRNG)
      • Estrutura interna tipica: funções de compressão; construção de Merkle-Damgard.
      • MD5
      • SHA1
  • Criptografia Assimétrica
    • Motivação e noções de teoria de números
    • Distribuição e acordo de chaves
    • Protocolo Diffie-Hellman
    • Ataque man-in-the-middle
    • Criptografia de chave pública
      • Trapdoor-permutation
      • Utilização como cifra: envelope digital
      • Utilização como assinatura.
      • Ataque man_in_the_middle
      • RSA e RSA-OAEP
      • El-Gamal
      • DSA
  • Certificação
    • Certificados de Chave Pública
    • Utilização nas operações de cifra e assinatura
    • Protocolo Station-to-Station

Teórico-Prática

  • Java Cryptography Architecture
    • Princípios e Arquitectura
    • Serviços Básicos
    • Extensibilidade
  • Open SSL
    • Geração de certificados
CSIT0809 25 Nov 2008 - 22:26 - r3 JoseBacelarAlmeida

Conceitos de Sistemas Criptográficos (T) - Sumários

MI-CSSI (2008/2009)


Aula 1 - 30/09/2008, 14:00 - 16:00

Apresentação do Módulo: programa, organização das aulas, critério de avaliação, referências bibliográficas.

Conceitos básicos e terminologia: criptografia, cripto-análise, segurança da informação. Breve apresentação das técnicas criptográficas modernas.


Aula 2 - 07/10/2008, 14:00 - 16:00

Cifras simétricas Sequenciais: características; cifras sequenciais síncronas e auto-sincronizáveis. Exemplos de cifras sequenciais: A5/1, RC4.

Cifras simétricas por Blocos: características; modos de operação (ECB, CBC, OFB, CFB, CTM).


Aula 3 - 14/10/2008, 14:00 - 16:00

Apresentação detalhada das cifras por Blocos DES e AES. Referência a técnicas cripto-análise.

Funções de Sentido Único: conceito e construções básicas. Funções de Hash Criptográficas: desenho e exemplos (MD5, SHA-1). Aplicações de funções de hash em geradores de números aleatórios; key generation functions.


Aula 4 - 21/10/2008, 14:00 - 16:00

Criptografia Assimétrica: motivação e apresentação do conceito. Protocolo de acordo de chaves Diffie-Hellman e análise de segurança perante adervesários passivos e activos. Cifras de Chave Pública e envelopes digitais. Assinaturas Digitais.


Aula 5 - 28/10/2008, 14:00 - 16:00

Algoritmos de criptografia assimétrica: problemas matemáticos utilizados na construção de funções de sentido único com segredo. Exemplos de algoritmos: RSA, El-Gamal, DSA.

Certificação e Public Key Infrastructure: estrutura dos cretificados X509; processo de pedido de certificados; utilização de certificados para assinatura digital e envelopes digitais; regogação (CRL). Esquemas alternativos/complementares de certificação (certificados de atributos; rede de confiança PGP; SPKI/SDSI).


CSITP0809 07 Dec 2008 - 22:56 - r8 JoseBacelarAlmeida

Conceitos de Sistemas Criptográficos (TP) - Sumários

MI-CSSI (2008/2009)


Aula 1 - 30/09/2008, 16:00 - 18:00

Ambiente de Desenvolvimento

O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento Java que será utilizado durante o curso.

Como actividade de programação (para experimentar o ambiente escolhido), deve desenvolver uma pequena aplicação que leia um ficheiro de texto (nome do ficheiro passado como argumento), e escreva para stdout o seu conteúdo com todas as letras maiúsculas.


Aula 2 - 07/10/2008, 16:00 - 18:00

Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir um pequeno programa Java que permita cifrar/decifrar um ficheiro utilizando uma cifra simétrica (e.g. AES no modo CBC). A sua forma de utilização pode ser análoga a:

      prog -genkey <keyfile>
      prog -enc <keyfile> <infile> <outfile>
      prog -dec <keyfile> <infile> <outfile>

Sugestões:

  • Para simplificar, pode começar por utilizar uma cifra mais simples (e.g. RC4) e uma chave secreta fixa definida no código na forma de um array de bytes (i.e. implementar somente as opções -enc e -dec). Nesse caso, deverá utilizar a classe SecretKeySpec para a converter para o formato adequado.
  • Um segundo passo deverá consistir na implementação da opção -genkey. Aí surge o problema de guardar a chave no sistema de ficheiros: vamos começar por adoptar a solução mais simples (e insegura) - guardar a chave directamente num ficheiro.
  • Por último, iremos guardar a chave num contentor apropriado (protegido por uma password). Para tal devemos utilizar uma KeyStore disponibilizada pela JCA que permita o armazenamento de chaves secretas (tipo "JCEKS" ou "PKCS12").

Algumas classes relevantes:


Aula 3 - 14/10/2008, 16:00 - 18:00

Aplicação de Cifra

Pretende-se adaptar a aplicação desenvolvida para responder aos seguintes requisitos:

  • O objectivo é fazer uso da aplicação para cifrar um conjunto de ficheiros (potencialmente grandes);
  • A chave utilizada nessas operações de cifra deve estar devidamente protegida;
  • Se algum dos ficheiros cifrados for manipulado (alterado), o programa deverá detectar essa ocorrência ao decifrar.


Aula 4 - 21/10/2008, 16:00 - 18:00

Acordo de Chaves

As classes Cliente, Servidor e TServidor implementam uma aplicação que permite a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]

Pretende-se:

  1. Modificar as respectivas classes por forma a garantir a confidencialidade nas comunicações estabelecidas. Para o efeito, deverá considerar a cifra/modo que considerar mais apropriado.
  2. Estabelecer o segredo através da execução do protocolo de acordo de chaves Diffie-Hellman. Para o efeito deverá utilizar:
    • Classe AlgorithmParameterGenerator para gerar os parâmetros P e G do algoritmo;
    • Classe KeyPairGenerator para gerar os pares de chaves ( (x, g^x) e (y,_g^y_) para cada um dos intervenientes);
    • Classe KeyAgreement que implementa o protocolo propriamente dito.

(obs.: No JCA Reference Guide está disponível um exemplo com a codificação do protocolo Diffie-Hellman.)

Algumas classes relevantes:


Aula 5 - 28/10/2008, 16:00 - 18:00

Protocolo Sation to Station

Pretende-se complementar o programa com o acordo de chaves Diffie-Hellman para incluir a funcionalidade análoga à do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma troca de assinaturas:

  1. Alice -> Bob : g^x
  2. Alice <- Bob : g^y, SB(g^x, g^y)
  3. Alice -> Bob : SA(g^x, g^y)

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:


CSSI-PI0809-1 01 Jul 2009 - 15:49 - r4 JoseBacelarAlmeida

Projecto Integrador - Sumários (1º Sem.)

MI-CSSI (2008/2009)


30/09/2008, 18:00 - 20:00

Ambiente de Desenvolvimento

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 1 de CSI.


07/10/2008, 18:00 - 20:00

Cifra de ficheiro utilizando JCA/JCE

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 2 de CSI.


14/10/2008, 18:00 - 20:00

Aplicação de Cifra

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 3 de CSI.


21/10/2008, 18:00 - 20:00

Acordo de Chaves

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 4 de CSI.


28/11/2008, 18:00 - 20:00

Protocolo Sation to Station

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 5 de CSI.


04/11/2008, 09:00 - 13:00, 14:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 1.


11/11/2008, 09:00 - 13:00, 14:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 1.


18/11/2008, 18:00 - 20:00

Apresentação das propostas para Projecto-2:

  • Codificação de um protocolo 1-out-n oblivious transfer
  • Codificação de esquema Publicly Verifiable Secret Sharing
  • Biblioteca para Criptografia baseada em Curvas Elípticas em NTL
  • Módulo PAM para atenticação por SMS
  • Sistema de ficheiros TrueCrypt
  • Explorar o MetaSploit
  • Utilização de HoneyPots


25/11/2008, 18:00 - 20:00

Escolha/atribuição dos projectos aos grupos de trabalho.


02/12/2008, 18:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


09/12/2008, 18:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


16/12/2008, 18:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


06/01/2008, 09:00 - 13:00, 14:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


13/01/2008, 09:00 - 13:00, 14:00 - 20:00

Apresentações do Projecto 2.



20/01/2008, 14:00 - 20:00

Demonstração/discussão do Projecto 1.


27/01/2008, 14:00 - 20:00

Demonstração/discussão do Projecto 1.


CSSI-PI0809-2 01 Jul 2009 - 16:24 - NEW JoseBacelarAlmeida

Projecto Integrador - Sumários (2º Sem.)

MI-CSSI (2008/2009)


03/03/2009, 14:00 - 16:00

Apresentação dos projectos do 2º semestre:

  • Sistema de Armazenamento Seguro
  • Desenvolvimento de um compilador de alto nível para software criptográfico
  • Provas de Segurança em Coq
  • Implementação eficiente de propostas ao SHA-3
  • Especificar e Verificar propriedades de segurança em software …
  • Implementação de Algorítmos de Anonimização
  • Modelo de um computador Quântico em Haskell
  • Implementação de Esquemas Criptográficos Pós-Quanticos
  • Explorar o CryptoVerif em provas de Conhecimento Zero


10/03/2009, 14:00 - 16:00

Escolha/atribuição dos projectos aos grupos de trabalho.


17/03/2009, 14:00 - 16:00

Acompanhamento dos projectos.


24/03/2009, 14:00 - 16:00

Acompanhamento dos projectos.


31/03/2009, 14:00 - 16:00

Acompanhamento dos projectos.


21/04/2009, 14:00 - 16:00

Acompanhamento dos projectos.


28/04/2009, 14:00 - 16:00

Acompanhamento dos projectos.


05/05/2009, 14:00 - 16:00

Acompanhamento dos projectos.


12/05/2009, 14:00 - 16:00

Tolerância de ponto (enterro da gata)


19/05/2009, 14:00 - 16:00

Acompanhamento dos projectos.


26/05/2009, 14:00 - 16:00

Acompanhamento dos projectos.


02/06/2009, 14:00 - 16:00

Acompanhamento dos projectos.


09/06/2009, 14:00 - 16:00

Acompanhamento dos projectos.


16/06/2009, 09:00 - 13:00, 14:00 - 20:00

Acompanhamento dos projectos.


23/06/2009, 09:00 - 13:00, 14:00 - 20:00

Acompanhamento dos projectos.


14/07/2009, 14:00 - 19:00

Apresentações dos projectos do 2º semestre.


CSSI0708 19 Sep 2008 - 13:24 - r5 JoseBacelarAlmeida

CSSI - Edição 2007-2008


Equipa Docente

  • Manuel Bernardo Barbosa
  • Manuel Valença
  • José Bacelar Almeida
  • Victor Francisco Fonte
  • Rui Carlos Oliveira

Conteúdos

  • Segurança de Sistemas Informáticos (SSI) - 1º Semestre
    • Tópicos de programação segura com ênfase no dimensionamento de privilégios, protecção de dados, stack e sandbox de execução.
    • Técnicas, ferramentas e boas práticas de administração na operação segura de sistemas informáticos.
    • Perímetros de segurança como elementos estruturantes na no comparticionamento de acesso e protecção dos recursos do sistema.
    • Redundância, fail-over, salvaguarda e reposição de dados e serviços como técnicas para melhoria da disponibilidade e segurança de operação de sistemas informáticos.
    • Análise forense aplicada à detecção e avaliação de situações de comprometimento de segurança de sistemas.

  • Criptografia e Segurança da Informação (CSI) - 1º Semestre
    • Conceitos fundamentais da criptografia moderna.
    • Introdução às primitivas, esquemas e protocolos criptográficos mais relevantes como blocos construtivos de funcionalidades de segurança em sistemas informáticos.
    • Certificação digital e a utilização de Infrastruturas de Chave Pública.
    • Aplicações correntes/comerciais da criptografia.

  • Projecto Integrado - 1º e 2º Semestres

  • Seminário/Gestão da Segurança da Informação (Sem+GSI) - 1º e 2º Semestres
    • Aspectos legais da segurança da informação.
    • Privacidade e protecção de dados pessoais.
    • Gestão da confiança.
    • Auditoria e acreditação de segurança.

  • Técnicas Criptográficas - 2º Semestre
    • Noções fundamentais da criptografia: computabilidade, conhecimento e aleatoriedade, confiança e provas probabilísticas.
    • Teoria matemática básica: estruturas algébricas relevantes e teoria dos números.
    • Primitivas criptográficas: cifras e sua criptoanálise, sistemas de chave pública, sistemas orientados à identidade.
    • Esquemas criptográficos: modelos e provas de segurança.

  • Paradigmas de Sistemas Confiáveis - 2º Semestre
    • Modelos de faltas
    • Coordenação distribuída
    • Paradigma transaccional
    • Comunicação em grupo fiável
    • Replicação por software

Critério de Avaliação

A avaliação final da UCE é composta pelas seguintes componentes (todas com nota mínima de 10 valores):

  • Teste escrito (60%)
  • Avaliação do Projecto (30%)
  • Seminário (10%)

Teste escrito

No final de cada periodo lectivo (semestre) é realizado um teste escrito. Esses testes são divididos em duas partes, versando cada uma delas os conteúdos dos módulos leccionados. No final do ano é oferecida a possibilidade de realizar um exame de recurso, podendo aí o aluno escolher que componentes (módulos) pretende repetir.

  • Teste do 1º Semestre (AS+CSI)
  • Teste do 2º Semestre (TC+PSC)
  • Exame Recurso (AS+CSI+TC+PSC)

Projecto Integrador

A avaliação do Projecto Integrador é realizada em dois tempos:

  • Final do primeiro semestre;
  • Final do ano.
A apresentação do projecto será acompanhada por um relatório

Seminário

  • Monografia;
  • Apresentação (20min.)

Horário 1º Semestre

Módulo Tipo Horário Docente
AS T+TP 3a Feira das 10:00 às 13:00 (DI 1.08) Victor Francisco Fonte
CSI T 3a Feira das 14:00 às 16:00 (DI A2) José Bacelar Almeida
CSI+PI TP+P 3a Feira das 16:00 às 18:00 (DI - 1.04) José Bacelar Almeida
PI+Sem P+Sem 3a Feira das 18:00 às 20:00 (DI - 1.08) Manuel Bernardo Barbosa

CSSI0809 29 Sep 2009 - 17:01 - r19 ManuelBernardoBarbosa

Criptografia e Segurança de Sistemas de Informação

Edição 2008/2009

Edição 2009/2010 (incluindo temas de tese)


Equipa Docente

  • José Manuel Valença (TC)
  • Manuel Bernardo Barbosa (CSI/GSI, PI)
  • José Carlos Bacelar Almeida (CSI/GSI, PI)
  • Rui Carlos Oliveira (PSC)
  • Victor Francisco Fonte (SSI)

Módulos Temáticos

Designação Sigla ECTS
Técnicas Criptográficas TC 10
Criptografia e Segurança da Informação CSI 3
Segurança de Sistemas Informáticos SSI 3
Gestão da Segurança da Informação GSI 3
Paradigmas de Sistemas Confiáveis PSC 3
Projecto Integrador PI 8

Material Pedagógico

Horário de Funcionamento

As actividades lectivas da UCE decorrem às terças-feiras, nos seguintes blocos lectivos:

bloco1 09:00 - 13:00
bloco2 14:00 - 18:00
bloco3 18:00 - 20:00

Ao distribuição dos módulos temáticos ao longo dos semestres será:

1º Semestre
Semana bloco1 bloco2 bloco3
1 - 5 TC CSI/GSI PI
6, 7 PI PI PI
8 - 13 TC SSI PI
14, 15 PI PI PI

2º Semestre
Semana bloco1 bloco2 bloco3
1 - 5 TC CSI/GSI PI
6, 7 PI PI PI
8 - 13 TC PSC PI
14, 15 PI PI PI

Avaliação

Cada módulo temático distribui o peso correspondente na avaliação final nos seguintes elementos de avaliação:

  • Componente teórica: teste no final de cada semestre;
  • Componente prática: avaliação continua das aulas TP e/ou realização de trabalho prático;
  • Seminário: elaboração de pequenos relatórios/resumos sobre palestras e/ou realização de apresentações sobre um tema dado.

Alunos Inscritos

(lista provisória)

Nome Login
João Pedro Soares da Silva Ferreira JoaoFerreira
Mário Ulisses Pires Araújo Costa MarioCosta
Pedro Miguel Dias Pereira PedroPereira
Humberto Domingues Mota Longo HumbertoLongo
Vicente Machado Fernandes VicenteFernandes
Miriam Isabel Teixeira Abreu Dias MiriamDias
Marta Rodrigues Fernandes MartaFernandes
Sara Joana Gomes Costa Oliveira SaraOliveira
Afonso Delerue Arriaga AfonsoArriaga
Manuel Filipe Pedrosa Costa ManuelCosta
Bruno Ferreira da Rocha de Lima Gomes BrunoGomes
Nuno Filipe Moreira Macedo NunoMacedo
Eloi Luiz Machado EloiMachado
André dos Santos L. Gomes AndreGomes
Hugo Seixas HugoSeixas
Vasco Almeida Ferreira VascoFerreira
Rami Galil Shashati RamiShashati
Tiago Miguel Soares Fernandes TiagoFernandes
Henrique Manuel Fernandes de Castro HenriqueCastro
Ricardo Jorge Oliveria Tching Magalhães Coelho RicardoCoelho
Sandra Raquel Costa Teixeira SandraTeixeira
CriptoBio0809Programa 02 Jul 2009 - 16:56 - NEW JoseBacelarAlmeida

Criptografia (MIEBIO)

Programa detalhado (2008/2009)

Teórica

  • Introdução e Terminologia
    • Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Classificação de Ataques
    • Apresentação de Técnicas Criptográficas
  • Técnicas Criptográficas Simétricas
    • Cifras sequenciais
      • Cifras síncronas e auto-sincronizáveis
      • Utilização de LFSRs
      • RC4
    • Cifras por blocos
      • Modos de Operação
      • Estrutura interna: propriedades de "difusão" e "confusão"; redes S-P; circuitos de Feistel
      • DES
      • AES
      • Noções de criptoanálise
  • Funções de sentido único
    • Breves noções de teoria da complexidade
    • Funções de sentido único
    • Funções de Hash criptográficas
      • Propriedades
      • Aplicações (HMAC; PRNG)
      • Estrutura interna tipica: funções de compressão; construção de Merkle-Damgard.
      • MD5
      • SHA1
  • Criptografia Assimétrica
    • Motivação e noções de teoria de números
    • Distribuição e acordo de chaves
    • Protocolo Diffie-Hellman
    • Ataque man-in-the-middle
    • Criptografia de chave pública
      • Trapdoor-permutation
      • Utilização como cifra: envelope digital
      • Utilização como assinatura.
      • Ataque man_in_the_middle
      • RSA e RSA-OAEP
      • El-Gamal
      • DSA
  • Certificação
    • Certificados de Chave Pública
    • Utilização nas operações de cifra e assinatura
    • Protocolo Station-to-Station

Teórico-Prática

  • Java Cryptography Architecture
    • Princípios e Arquitectura
    • Utilização dos Serviços Básicos
  • Open SSL
    • Geração de certificados
CriptoBioNews0607 24 Sep 2008 - 18:59 - r4 JoseBacelarAlmeida
Já estão disponíveis as notas da época normal -- ManuelBernardoBarbosa - 30 Jan 2007

Site criado. -- ManuelBernardoBarbosa - 21 Sep 2006

CriptoBioT0809 13 Dec 2008 - 23:16 - r6 JoseBacelarAlmeida

Criptografia

Mestrado Integrado em Engenharia Biomédica

Sumários das aulas Teóricas (2008/2009)


Aula 1: 18/09/2008

Apresentação da disciplina.


Aula 2: 25/09/2008

Conceitos básicos e terminologia.


Aula 3: 02/10/2008

Cifras sequenciais: apresentação do conceito; cifras sequenciais síncronas e auto-sincronizáveis; alguns exemplos concretos (A5-1; RC4).


Aula 4: 09/10/2008

Cifras por blocos: descrição genérica e modos de operação (ECB, CBC, OFB, CFB, CTM).


Aula 5: 16/10/2008

Jornadas de Engenharia Biomédica. (tolerância de ponto)


Aula 6: 23/10/2008

Cifras por blocos: aspectos de implementação e apresentação de algoritmos concretos (DES, AES).


Aula 7: 30/10/2008

Funções de sentido único e aplicações (funções de hash criptográficas; funções de derivação de chaves)


Aula 8: 06/11/2008

Criptografia Assimétrica: motivação e apresentação do conceito. Protocolo de acordo de chaves Diffie-Hellman.


Aula 9: 13/11/2008

Criptografia Assimétrica: cifras de chave pública; assinaturas digitais; necessidade de um mecanismo de certificação.



Aula 10: 20/11/2008

Algoritmos de chave pública: RSA, El-Gamal, DSA.


Aula 11: 27/11/2008

Certificados de chave pública X509: estrutura; cadeias de certificação; procedimento de validação; revogação (CRLs).


Aula 12: 04/12/2008

Protocolos criptográficos e outras aplicações correntes da criptografia: SSL/TLS; SSH; PGP; S/MIME.


Aula 13: 11/12/2008

Geração de certificados de chave pública utilizando o openssl.


Aula 14: 18/12/2008

Configuração do servidor Apache no modo de autenticação mútua do protocolo SSL.


Aula 15: 08/01/2009

Apresentação dos trabalhos práticos.


CriptoBioTP0809 11 Dec 2008 - 10:56 - r15 JoseBacelarAlmeida

Criptografia

Mestrado Integrado em Engenharia Biomédica


Guiões das aulas Teórico-Práticas 2008/2009


Aula 1: 18/09/2008

Apresentação da disciplina.


Aula 2: 25/09/2008

Objectivos:

  • Instalação do IDE recomendado (Eclipse JEE);
  • Execução de programa elementar;
  • Apontadores WEB com material de Referência e Tutorials.

Transcreva para o editor do Eclipse, compile e execute o seguinte programa:

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

Leia a secção do Java Tutorial referente a este exemplo. Consulte também a documentação referente ao método println (a que classe pertence?).

Para se realizarem programas minimamente interessantes, é necessário conhecer um conjunto básico de conceitos e de classes da biblioteca standard (secções Learning the Java Language e Essential Java Classes)


Aula 3: 02/10/2008

Pretende-se realizar uma pequena aplicação java com a seguinte funcionalidade:

  • O utilizador, ao invocar o programa, passa também como argumento um nome de um ficheiro de texto fich;
  • O programa deverá gravar um novo ficheiro fich.out em que converte todas as letras minúsculas em maiúsculas;
  • No final, deverá imprimir no écran o número total de caracteres e linhas processadas.

Algumas classes relavantes:


Aula 4: 09/10/2008

Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir um pequeno programa Java que permita cifrar/decifrar um ficheiro utilizando uma cifra simétrica (e.g. RC4). A sua forma de utilização pode ser análoga a:

      prog -genkey <keyfile>
      prog -enc <keyfile> <infile> <outfile>
      prog -dec <keyfile> <infile> <outfile>

Sugestões:

  • Para simplificar, pode começar por utilizar uma chave secreta fixa, definida no código na forma de um array de bytes. Nesse caso, deverá utilizar a classe SecretKeySpec para a converter para o formato adequado.

Algumas classes relevantes:


Aula 5: 16/10/2008

Jornadas de Engenharia Biomédica. (tolerância de ponto)


Aula 6: 23/10/2008

Continuação da aula de "Cifra de Ficheiro".


Aula 7: 30/10/2008

As classes Cliente, Servidor e TServidor implementam uma aplicação que permite a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]

Pretende-se nesta aula modificar as respectivas classes por forma a garantir a confidencialidade nas comunicações estabelecidas. Escolha para o efeito a cifra/modo que considerar mais apropriado.

Algumas classes relevantes:


Aula 8: 06/11/2008

O objectivo desta aula é implementar o acordo de chaves Diffie-Hellman directamente em Java (sem recorrer ao framework JCA).

  1. Alice,Bob: acordam nos parâmetros P e G
  2. Alice: gera x tal que 0 ≤ x < P
  3. Alice -> Bob : G^x mod P
  4. Bob: gera y tal que 0≤ y < P
  5. Bob -> Alice : G^y mod P
  6. Alice, Bob: segredo acordado K = G^(xy) mod P = (G^x)^y mod P = (G^y)^x mod P

Utilize a classe BigInteger e codifique cada passo do protocolo explicitamente. Pode começar por utilizar os seguintes parâmetros para o grupo (P tem 1024 bit):

P = 99494096650139337106186933977618513974146274831566768179581759037259788798151499814653951492724365471316253651463342255785311748602922458795201382445323499931625451272600173180136123245441204133515800495917242011863558721723303661523372572477211620144038809673692512025566673746993593384600667047373692203583
G = 44157404837960328768872680677686802650999163226766694797650810379076416463147265401084491113667624054557335394761604876882446924929840681990106974314935015501571333024773172440352475358750668213444607353872754650805031912866692119819377041901642732455911509867728218394542745330014071040326856846990119719675

Classes relevantes:


Aula 9: 13/11/2008

(obs: só para quem acabou o programa pedido na aula anterior...)

Pretende-se codificar uma nova versão do protocolo de acordo de chaves Diffie-Hellman que faça exclusivamente uso das funcionalidades oferecidas pela JCA, nomeadamente:

  • Classe AlgorithmParameterGenerator para gerar os parâmetros P e G do algoritmo;
  • Classe KeyPairGenerator para gerar os pares de chaves ( (x, g^x) e (y,_g^y_) para cada um dos intervenientes);
  • Classe KeyAgreement que implementa o protocolo propriamente dito.

Em JCE Reference Guide está disponível um exemplo de codificação desse protocolo.

APIs:


Aula 10: 20/11/2008

Pretende-se complementar o programa com o acordo de chaves Diffie-Hellman para incluir a funcionalidade análoga à do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma troca de assinaturas:

  1. Alice -> Bob : g^x
  2. Alice <- Bob : g^y, SB(g^x, g^y)
  3. Alice -> Bob : SA(g^x, g^y)

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:



Aula 11: 27/11/2008

Continuação da aula anterior.


Aula 12: 04/12/2008

Apresentação dos mini-projectos práticos.


Aula 13: 11/12/2008

Utilização de certificados X509 em Java

Pretende-se certificar as chaves públicas utilizadas no protocolo Station-to-Station com base em certificados X509. Para tal, disponibiliza-se:

  • Certificado de chave pública do Servidor: servidor.crt
  • Chave privada do Servidor (codificada em PKCS8): servidor.pk8
  • Certificado de chave pública do Cliente: cliente.crt
  • Chave privada do Cliente (codificada em PKCS8): cliente.pk8
  • Certificado auto-assinado da autoridade de certificação: ca.crt

A utilização de certificados pressupõe a sua validação. O Java disponibiliza uma API específica que deverá utilizar para o efeito (documentação abaixo). Para facilitar esse estudo recomenda-se o estudo/adaptação de um programa de exemplo que verifica a validade de uma cadeia de certificação: ValidateCertPath.java. Utilizando esse programa, podemos verificar a validade do certificado do servidor através da linha de comando:

java ValidateCertPath ca.crt servidor.crt 

Uma segunda questão que surgirá neste trabalho é a manipulação dos formatos das chaves: as chaves privadas correspondentes aos certificados fornecidos estão codificadas num formato standard PKCS8. Para se converter esse formato num objecto Java apropriado terá de se utilizar uma instância da classe KeyFactory. O fragmento de código que se apresenta ilustra esse processo:

        byte[] encodedKey;      // read from file
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encodedKey);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        RSAPrivateKey privKey =
        (RSAPrivateKey)keyFactory.generatePrivate(keySpec);

Classes requeridas:

Outra documentação relevante:


Aula 14: 18/12/2008

Geração de Certificados X509

Nesta sessão iremos fazer uso do openssl para construir uma pequena autoridade de certificação.

O processo de emissão de certificados X509 passa pelos seguintes passos:

  1. - O utilizador gera um par de chaves;
  2. - O utilizador produz um "pedido de certificado" que contém a sua identificação e a sua chave pública, que é assinado com a sua chave privada (o que certifica que quem solicita o certificado está na posse da respectiva chave privada);
  3. - A autoridade de certificação valida os dados contidos no certificado e, no caso de certificar positivamente esses dados, emite o certificado de chave pública correspondente.
  4. - O certificado é enviado ao utilizador e, eventualmente, publicado por outros meios (e.g. serviço de directoria).

Para cada um destes passos iremos fazer uso dos comandos respectivos do openssl.

Geração de chaves:

openssl genrsa -out grupoXPTO.key

Para utilizar a chave privada no Java é conveniente converter o seu formato para PKCS8

openssl pkcs8 -topk8 -nocrypt -in grupoXPTO.key -outform der -out grupoXptoPrivKey.der

Geração do pedido de certificado:

openssl req -new -key grupoXPTO.key -out grupoXPTO.csr 

Emissão do certificado: A emissão de certificados é normalmente realizada com o auxílio de scripts que invocam o comando openssl com os argumentos apropriados. Existem duas scripts normalmente utilizadas para este efeito:

  • CA.pl - distribuída com o "openssl".
  • sign.sh - distribuída com o "mod_ssl". Espera encontrar ficheiros ca.key e ca.crt.

Produção de PKCS12: Para certas utilizações (e.g. browsers, leitores de email, etc.) é conveniente encapsularmos o certificado e respectiva chave privada num PKCS12.

openssl pkcs12 -export -chain -CAfile cacert.pem -name GrupoXPTO -aes128 -inkey grupoXPTO.key -in grupoXPTO.crt -out GrupoXPTO.p12

Verificação dos certificados:

openssl verify -CAfile cacert.pem cert1.crt cert2.crt ...

utilizando este Certificado da autoridade de certificação de raiz.

Apontadores úteis:


Aula 15: 08/01/2008

Apresentação dos trabalhos práticos.


CriptografiaAplicada0405 19 Sep 2008 - 13:24 - r20 JoseBacelarAlmeida
Notícias

  • A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da tarde. -- ManuelBernardoBarbosa - 19 Jan 2005

Education.Criptografia Aplicada 2004-2005


Notas

Exames

Sugestão de Leitura

Equipa Docente

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2as 11-13 e 18-20, 3as 18-20


Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (opcional, mas a ausência de avaliação prática limita a nota teórica a 12 valores)
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho práticos.
    • Os trabalhos serão realizados maioritáriamente nas aulas, por grupos de exactamente 2 alunos.
    • Será necessário elaborar um relatório do trabalho efectuado, bem como efectuar uma apresentação desse relatório.

Programa Resumido

  • Teórica
    • Introdução *Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 14 Sep 2004

CriptografiaAplicada0506 19 Sep 2008 - 13:24 - r23 JoseBacelarAlmeida
Notícias

  • Para consultar os exames, contactar docente na segunda feira dia 6 de Fevereiro entre as 14 e as 15 horas. -- ManuelBernardoBarbosa - 2 Fev 2006

  • As entregas dos trabalhos práticos terão lugar na 6a Feira dia 6 de Janeiro. A partir de 3a Feira dia 27 de Dezembro estará disponível na recepção do DI uma folha de inscrições. Cada docente receberá os trabalhos dos alunos do seu turno (em caso de grupos mistos é indiferente).

  • Alteração nos horários: Aula teórica (2a 14-16), TP1 (2a 16-18), TP2 (2a 18-20). -- ManuelBernardoBarbosa - 21 Sep 2005

Education.Criptografia Aplicada 2005-2006

Edição 2004-2005


Equipa Docente

Horários

Tipo Horário Docente
T 2a Feira das 14:00 às 16:00 (DI - A2) ManuelBernardoBarbosa
TP1 2a Feira das 16:00 às 18:00 (DI - 0.11) AlcinoCunha
TP2 2a Feira das 18:00 às 20:00 (DI - 0.11) ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2a 11:00 - 13:00 16:00-18:00
AlcinoCunha 2a 09:30-11:30 14:00-16:00


Sugestões de leitura

Notas

Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (opcional, mas a ausência de avaliação prática limita a nota teórica a 12 valores)
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho práticos.
    • Os trabalhos serão realizados maioritáriamente nas aulas, por grupos de exactamente 2 alunos.
    • Será necessário elaborar um relatório do trabalho efectuado, bem como efectuar uma apresentação desse relatório.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 23 Feb 2006

CriptografiaAplicada0607 19 Sep 2008 - 13:24 - r32 JoseBacelarAlmeida
Notícias

Para consultar os exames da época especial, contactar mbb. -- -- ManuelBernardoBarbosa - 20 Set 2007

Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre as 15 e as 16. -- ManuelBernardoBarbosa - 27 Feb 2007

Consultas a exames: 2a Feira dia 5 de Fevereiro entre as 14 e as 15. -- ManuelBernardoBarbosa - 01 Feb 2007

Datas de entrega na primeira semana de Janeiro

Lista dos grupos inscritos para entregar o trabalho. -- ManuelBernardoBarbosa - 06 Dec 2006

As entregas dos trabalhos práticos terão lugar nas semanas antes e depois das férias do Natal. Até ao final de Novembro todos os grupos deverão enviar um e-mail indicando a sua constituição e a sua preferência quanto à semana da entrega e apresentação do trabalho. -- ManuelBernardoBarbosa - 13 Nov 2006

Não haverá aula teórica na 2a feira dia 20 de Novembro. -- ManuelBernardoBarbosa - 13 Nov 2006

-- ManuelBernardoBarbosa - 28 Dec 2006

Criptografia Aplicada 2006-2007

(Edição 2005-2006, Edição 2004-2005)


Notas

Equipa Docente

Horários

Tipo Horário Docente
T 2a Feira das 14:00 às 16:00 (CP2 - 1.04) ManuelBernardoBarbosa
TP1 2a Feira das 18:00 às 20:00 (DI - 0.11) JoseBacelarAlmeida
TP2 5a Feira das 16:00 às 18:00 (DI - 0.11) ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2a 16:00 - 18:00, 5a 14:00-16:00
JoseBacelarAlmeida 2a 14:00 - 18:00


Material Disponibilizado

Recomendações de leitura

  • Introdução ao conceito de Zero-Knowledge para identificação e explicação da segurança do protocolo Schnorr: capítulo 10 do livro "Handbook of Applied Cryptography", disponível aqui.
  • Propriedades das funções de hash e a relação com ataques por força bruta e birthday attacks: wikipedia aqui.

Aulas Teóricas

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (opcional, mas a ausência de avaliação prática limita a nota teórica a 12 valores)
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho práticos.
    • Os trabalhos serão realizados maioritáriamente nas aulas, por grupos de até 3 alunos.
    • Será necessário elaborar um relatório do trabalho efectuado, bem como efectuar uma apresentação desse relatório.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 23 Jan 2007

CriptografiaAplicada0708 24 Sep 2008 - 10:35 - r25 JoseBacelarAlmeida
Notícias

22-02-2008 Já estão disponíveis as notas do exame de recurso.

DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2-105).

28-01-2008 Já estão disponíveis as notas do 2º teste.

18-01-2008 A direcção de curso confirmou a data de 23-01-2008 (9:00, CP2111) para o teste de CA.

14-01-2008 Notas dos Mini-Projectos.

26-12-2007 Notas do teste intermédio.

27-11-2007 Já está disponível o enunciado do projecto prático.

20-11-2007 Estão disponíveis dois novos mini-projectos (aqui).

08-11-2007 O teste intermédio será no dia 13 de Novembro (3a-feira) às 17:00 - sala CP1206.

16-10-2007 Já está disponível o enunciado do primeiro mini-projecto (aqui).

16-10-2007 O teste intermédio será na semana de 12 a 17 de Novembro. O teste final na semana de 21 a 26 de Janeiro.

08-10-2007 As listas de inscritos nos turnos práticos encontram-se aqui.

20-09-2007 As notas da época especial estão disponíveis no site do ano anterior.

18-09-2007 Dado que ainda estão a decorrer exames de disciplinas de LESI, não haverá aula de CA hoje (18-09-2007).

2007-2008

Criptografia Aplicada

Criptografia e Segurança da Informação

(Edição 2006-2007, Edição 2005-2006, Edição 2004-2005)


Equipa Docente

  • José Carlos Bacelar Almeida

Horários

Tipo Horário
T 3a Feira das 14:00 às 16:00 (DI A2)
TP1 3a Feira das 16:00 às 18:00 (DI - 1.04)
TP2 3a Feira das 18:00 às 20:00 (DI - 1.04)

Horários de Atendimento

Docente Horário
José Carlos Bacelar Almeida 2a feira, 16:00 - 19:00


Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas

Trabalhos Práticos

Projecto: Enunciado

Mini-Projectos: Informação relativa aos mini-projectos está disponível aqui.

Exames

Notas

Curso Num. Nome Exame FINAL
LESI 26213 Alexandre Manuel Nogueira da Costa 9 10
LESI 40668 Artur Jorge Paiva Correia Machado 5 R
LESI 36960 José Carlos de Freitas Fontão 13 13
LESI 40647 Marco Paulo Barbosa de Brito 5.5 R
LESI 40669 Mário Filipe de Melo Pinhal 12.5 13
LMCC 43488 Paula Cristina Gomes da Silva 8.5 10


Objectivos

  • Estudar
    • Conceitos fundamentais da Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Teste Escrito: 60% (nota mínima de 8 valores)
    • Componente Prática: 40% (opcional, mas a ausência de avaliação prática limita a nota final a 12 valores)
  • Teste Escrito:
    • Serão realizados dois testes ao longo do semestre (datas a confirmar):
      • 1º em meados de Novembro (13 de Novembro, às 17:00 - sala CP1206);
      • 2º na época de testes no final do semestre (semana de 21 a 26 de Janeiro).
    • O exame de recurso compreende toda a matéria.
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um ou mais trabalhos práticos. Os alunos podem optar por:
      • Realizar dois pequenos projectos durante o semestre (serão propostos pelo menos 4 temas). Os prazos serão fixados aquando do anúncio de cada projecto (tipicamente de 1 ou 2 semanas) e a sua defesa será realizada nas aulas práticas.
      • Um projecto de maior dimensão realizado por grupos de até 3 alunos, onde se pode fazer uso das componentes realizadas durante as aulas práticas. Será entregue e defendido no final do semestre.
    • Em qualquer uma das modalidades, a entrega consistirá no código desenvolvido e num pequeno relatório do trabalho efectuado.

Programa Resumido

  • Teórica
    • Introdução e Terminologia
      • Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Classificação de Ataques
      • Apresentação de Técnicas Criptográficas
    • Técnicas Criptográficas
      • Cifras simétricas (sequenciais e por blocos)
      • Funções de Hash e Message Authentication Codes
      • Distribuição e acordo de chaves
      • Cifras assimétricas e Criptografia de Chave Pública
      • Assinaturas digitais e Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press 2001.
  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


CriptografiaAplicada0708Projs 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida

Mini-Projectos


Projecto 4: Site para intranet com autenticação baseada em Certificados X509

Prazo: 3 semanas (entrega/demonstração na aula do dia 8 de Janeiro de 2008)

Pretende-se configurar um servidor web para uma intranet de uma instituição. Os requisitos são:

  • O site irá disponibilizar diferentes áreas para os vários departamentos da instituição. Em cada uma dessas áreas existirão zonas de acesso público e restritas a utilizadores autenticados (do departamento em questão).
  • Admite-se que cada departamento dispõe de uma CA própria (mas estas não se encontram necessariamente hierarquizadas).
  • Para certas zonas do site, podem ainda existir critérios de acesso mais restritivos (e.g. só determinados utilizadores podem aceder).

O trabalho consistirá na configuração do web-server para uma instanciação do cenário proposto. Em particular, é parte integrante deste trabalho a geração dos certificados envolvidos (para os diferentes departamentos). No relatório deverão destacar os pontos mais relevantes do desenvolvimento (e.g. fragmentos das scripts de configuração; etc.)

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email. A demonstração ocorrerá na aula prática no próprio dia da entrega (obs: para utilizar os computadores do laboratório terá de instalar no momento todo o software necessário. O mais simples será trazer um portátil com o software já instalado).


Projecto 3: Codificação de esquemas de cifra ou assinatura aleatórios baseados no RSA.

Prazo: 2 semanas (entregue na aula do dia 4 de Dezembro)

Do ponto de vista de segurança, recomenda-se que a utilização de esquemas criptográficos baseados no RSA considerem elementos aleatórios na produção da cifra/assinatura. Exemplos desses esquemas são o RSA-OAEP (cifra) e RSA-PSS (assinatura). Pretende-se neste projecto realizar a codificação de um destes esquemas (à sua escolha) em Java. Para tal deverá seguir a especificação apresentada em PKCS1-v2.1.

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email.


Projecto 2: Construção das tabelas características das S-box do DES.

Prazo: 2 semanas (entregue na aula do dia 4 de Dezembro)

Desenvolver um programa que gere as tabelas características das S-box do DES (utilizadas na cripto-análise diferencial). Recorde-se que essas tabelas registam:

  • Para cada S-box, qual o número de resultados com uma dada diferença em função das diferenças das entradas (tabela como a apresentada nos slides das teóricas);
  • Para uma S-box, e determinadas diferenças na entrada e na saída, quais os pares de entrada e saída que são contabilizadas na posição respectiva da tabela anterior.

Sugestão: adapte uma implementação do DES (aí já dispõe da codificação das várias S-box).

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email.


Projecto 1: Abstracção para comunicação com garantias de integridade

Prazo: 1 semana (entregue na aula do dia 23 de Outubro)

Pretende-se desenvolver classes que suportem abstracções análogas à CipherInputStream/CipherOutputStream, mas cuja garantia associada seja a integridade e não a confidencialidade. Deverá ser escrito um pequeno relatório (4/5 folhas) que discuta as decisões de implementação adoptadas e apresentado um pequeno programa que ilustre a utilização das classes.

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email.

Lista de Alunos:

NOME NÚMERO CURSO
Marco Paulo Gomes 40662   LESI
Rui Jorge Valente 35371 LESI
----- --- ---
Fernando Pedro Viana Morais 30717 LMCC
----- --- ---
Miguel Matos 38217  
----- --- ---
Vítor Rocha 38182  
----- --- ---
Nuno Miguel Gomes da Costa 24279 LESI
Nuno Miguel Milhases da Silva 29251 LESI
----- --- ---
Carlos Lopes    
João Cunha    
----- --- ---
Carlos SIlva 35290  
----- --- ---
Bruno Araújo 35284  
Júlio Lopes   35841  
----- --- ---
Paulo Alexandre Marques Jesus 33202 LESI
----- --- ---
Oscar Brito    
----- --- ---
Daniel Gomes Mendes 39834 LMCC
----- --- ---
Moisés Soares 40614 LESI
----- --- ---
Duarte Alves    
----- --- ---
Pedro Almeida 40612 LESI
----- --- ---
Paulo Sérgio Silva Santos 40631  
----- --- ---
Filipe Regadas    
----- --- ---
Marcio Filipe Mendes Moreira 40655  
----- --- ---
Henrique Coelho    
----- --- ---
Carlos Castro 40609  
----- --- ---
----- --- ---
Carlos SIlva 35290  
----- --- ---
Nuno Miguel Pôjo    
CriptografiaAplicadaTP0607 09 Dec 2007 - 02:42 - r19 JoseBacelarAlmeida

Sessões laboratoriais de CA (2006/2007)


Aula 1 - Arquitectura Cliente-Servidor

Pretende-se construir uma plataforma que permita a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Algumas classes relevantes:

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]


Aula 2 - Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir dois pequenos programas Java: Um primeiro que cifra um ficheiro (e.g. texto_limpo.txt) por intermédio de uma cifra simétrica (e.g. cifra sequêncial RC4). Um segundo que decifra o criptograma obtido para recuperar o texto limpo.

Para simplificar vamos utilizar uma chave secreta fixa, definida no código na forma de um array de bytes, e convertida numa chave secreta adequada utilizando a classe SecretKeySpec.

É também interessante verificar que o criptograma gerado é compatível com outras plataformas que implementam a mesma cifra. O comando seguinte utiliza o openssl para decifrar um ficheiro cifrado com RC4 (a chave tem de ser fornecida em hexadecimal).

openssl enc -d -rc4 -in <criptograma> -out <ficheiro resultado> -K <chave> -iv 0

Algumas classes relevantes:

Outra documentação relevante:

Aula 3 - Canal seguro entre Cliente/Servidor

Pretende-se completar/modificar o código realizado nas aulas anteriores por forma a que o Cliente comunique de forma segura (confidêncial) com o Servidor. Para tal deve-se utilizar uma cifra por blocos (e.g. AES) num modo de funcionamento apropriado.

Observações:

  • A escolha do modo deve ser adequado à natureza da conexão entre o cliente e o servidor. Em particular, deve-se tomar em atenção as questões de buffering e sincronização...
    • Se se optar por uma Stream "interactiva", pode-se optar por CipherOutputStream e CipherInputStream com uma cifra num modo "sequêncial" (obs.: experimente utilizar um modo por blocos para ter percepção sobre os problemas dessa solução...)
    • Se optar por transmissão assíncrona de objectos, por optar por utilizar SealedObject sobre uma ObjectStream. Nesse caso pode utilizar um modo por blocos (e.g. CBC).
  • Em qualquer dos casos, terá sempre de tratar da inicialização e transmissão do Initialization Vector.
  • Estando nós a utilizar uma cifra simétrica, temos de garantir que cliente/servidor acordam na chave utilizada. Para simplificar, podemos admitir que guardamos a chave num ficheiro (gerada por um pequeno programa com base na funcionalidade da classe KeyGenerator) que é disponibilizado a ambos os programas. Adiante, dicutiremos formas mais apropriadas de estabelecer o acordo de chaves entre as partes...

Algumas classes relevantes (para além das já estudadas...):


Aula 4 - Canal seguro entre Cliente/Servidor (continuação)

Pretende-se:

  • (Se for o caso...) Concluir a implementação da aula anterior;
  • Implementar estratégia alternativa (CipherStream vs. SealedObject).


Aula 5 - Acordo de chaves Diffie-Hellman

O objectivo desta aula é adicionar à aplicação Cliente/Servidor suporte para o protocolo de acordo de chaves Diffie-Hellman. Para tal deverá ser conveniente estudar/adaptar o programa de exemplo apresentado em JCE Reference Guide (Appendix F).

Novas classes:


Aula 6 - Implementação do protocolo Station to Station

Pretende-se:

  • (Se for o caso...) Concluir a implementação da aula anterior (acordo de chaves Diffie Hellman);
  • Complementar o programa de acordo de chaves para incluir a funcionalidade do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma traca de assinaturas (cifrada com a chave de sessão negociada), i.e.:
    1. Alice -> Bob : g^x
    2. Alice <- Bob : g^y, EK(SB(g^y, g^x))
    3. Alice -> Bob : EK(SA(g^x, g^y))

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:


Aula 7 - Garantias de Integridade

Tendo já abordado os aspectos de confidencialidade e autenticidade na comunicação Cliente/Servidor, falta-nos considerar a integridade da mensagem transmitida (i.e. garantir que não é possível manipular/alterar a mensagem enquanto em trânsito). Para tal devemos fazer uso de (H)MACs (classe javax.crypto.Mac).

Obs.: Uma sugestão para integrar a utilização de MACs na aplicação existente consiste em seguir a estratégia adoptada em CipherStream ou SealedObject: a de encapsular a sua funcionalidade numa classe responsável pela comunicação...


Aula 8 - Utilização de Certificados em Java

Pretende-se certificar as chaves públicas utilizadas no protocolo Station-to-Station com base em certificados X509. Para tal, disponibiliza-se:

  • Certificado de chave pública do Servidor: servidor.crt
  • Chave privada do Servidor (codificada em PKCS8): servidor.der
  • Certificado de chave pública do Cliente: cliente.crt
  • Chave privada do Cliente (codificada em PKCS8): cliente.der
  • Certificado auto-assinado da autoridade de certificação: ca.crt

Para facilitar o estudo da manipulação de certificados X509, disponibiliza-se um programa que verifica a validade de uma cadeia de certificação: ValidateCertPath.java.

Classes requeridas:

Outra documentação relevante:


Aula 9 - Geração de Certificados

Nesta sessão iremos fazer uso do openssl para construir uma pequena autoridade de certificação.

O processo de emissão de certificados X509 passa pelos seguintes passos:

  1. - O utilizador gera um par de chaves;
  2. - O utilizador produz um "pedido de certificado" que contém a sua identificação e a sua chave pública, que é assinado com a sua chave privada (o que certifica que quem solicita o certificado está na posse da respectiva chave privada);
  3. - A autoridade de certificação valida os dados contidos no certificado e, no caso de certificar positivamente esses dados, emite o certificado de chave pública correspondente.
  4. - O certificado é enviado ao utilizador e, eventualmente, publicado por outros meios (e.g. serviço de directoria).

Para cada um destes passos iremos fazer uso dos comandos respectivos do openssl.

Geração de chaves:

openssl genrsa -out grupoXPTO.key

Para utilizar a chave privada no Java é conveniente converter o seu formato para PKCS8

penssl pkcs8 -topk8 -nocrypt -in grupoXPTO.key -outform der -out grupoXptoPrivKey.der

Geração do pedido de certificado:

openssl req -new -key grupoXPTO.key -out grupoXPTO.csr 

Emissão do certificado: A emissão de certificados é normalmente realizada com o auxílio de scripts que invocam o comando openssl com os argumentos apropriados. Existem duas scripts normalmente utilizadas para este efeito:

  • CA.pl - distribuída com o "openssl".
  • sign.sh - distribuída com o "mod_ssl". Espera encontrar ficheiros ca.key e ca.crt.

Produção de PKCS12: Para certas utilizações (e.g. browsers, leitores de email, etc.) é conveniente encapsularmos o certificado e respectiva chave privada num PKCS12.

openssl pkcs12 -export -chain -CAfile cacert.pem -name GrupoXPTO -aes128 -inkey grupoXPTO.key -in grupoXPTO.crt -out GrupoXPTO.p12

Verificação dos certificados:

openssl verify -CAfile cacert.pem cert1.crt cert2.crt ...

utilizando este Certificado da autoridade de certificação de raiz.

Apontadores úteis:


CriptografiaAplicadaTP0708 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida

Sessões laboratoriais de CA (2007/2008)


Aula 1 - Ambiente de Desenvolvimento

O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento Java que será utilizado durante o curso.

Como actividade de programação (para experimentar o ambiente escolhido), deve desenvolver uma pequena aplicação que leia um ficheiro de texto (nome do ficheiro passado como argumento), e escreva para stdout o seu conteúdo com todas as letras maiúsculas.


Aula 2 - Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir um pequeno programa Java que permita cifrar/decifrar um ficheiro utilizando uma cifra simétrica (e.g. RC4). A sua forma de utilização pode ser análoga a:

      prog -genkey <keyfile>
      prog -enc <keyfile> <infile> <outfile>
      prog -dec <keyfile> <infile> <outfile>

Sugestões:

  • Para simplificar, pode começar por utilizar uma chave secreta fixa, definida no código na forma de um array de bytes. Nesse caso, deverá utilizar a classe SecretKeySpec para a converter para o formato adequado.
  • É também interessante verificar que o criptograma gerado é compatível com outras plataformas que implementam a mesma cifra. O comando seguinte utiliza o openssl para decifrar um ficheiro cifrado com RC4 (a chave tem de ser fornecida em hexadecimal).
               openssl enc -d -rc4 -in <infile> -out <outfile> -K <chave>

Algumas classes relevantes:


Aula 3 - Confidencialidade na comunicação Cliente-Servidor

As classes Cliente, Servidor e TServidorimplementam uma aplicação que permite a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]

Pretende-se nesta aula modificar as respectivas classes por forma a garantir a confidencialidade nas comunicações estabelecidas. Escolha para o efeito a cifra/modo que considerar mais apropriado.

Algumas classes relevantes:


Aula 4 - Confidencialidade na comunicação Cliente-Servidor (continuação)

Pretende-se nesta aula experimentar o impacto da escolha da cifra/modo na comunicação entre o cliente/servidor. Para tal é conveniente reforçar a natureza interactiva da comunicação modificando os ciclos de leitura/escrita para operarem sobre um byte de cada vez:

Cliente:

           CipherOutputStream cos = ...
	    int test;
	    while((test=System.in.read())!=-1) {
		cos.write((byte)test);
		cos.flush();
	    }
Servidor:
	    CipherInputStream cis = ...
		int test;
		while ((test=cis.read()) != -1) {
		    System.out.print((char) test);
		}

Experimente agora as seguintes cifras (e modos) e verifique qual o respectivo impacto nas questões de buffering e sincronização:

  • RC4
  • AES/CBC/NoPadding
  • AES/CBC/PKCS5Padding
  • AES/CFB8/PKCS5Padding
  • AES/CFB8/NoPadding
  • AES/CFB/NoPadding

Procure explicar a diferenças detectadas na execução da aplicação.

Obs: Note que em muitos dos modos sugeridos necessita de considerar um IV. Considere para o efeito que o IV é gerado pelo cliente e enviado em claro para o servidor (no início da comunicação).

Algumas classes relevantes (para além das já estudadas...):


Aula 5 - Acordo de Chaves Diffie-Hellman

O objectivo desta aula é implementar o acordo de chaves Diffie-Hellman. Algumas sugestões para atacar o problema:

  • Comece por utilizar a classe BigInteger e codifique cada passo do protocolo explicitamente. Pode começar por utilizar os seguintes parâmetros para o grupo (P tem 1024 bit):
P = 99494096650139337106186933977618513974146274831566768179581759037259788798151499814653951492724365471316253651463342255785311748602922458795201382445323499931625451272600173180136123245441204133515800495917242011863558721723303661523372572477211620144038809673692512025566673746993593384600667047373692203583
G = 44157404837960328768872680677686802650999163226766694797650810379076416463147265401084491113667624054557335394761604876882446924929840681990106974314935015501571333024773172440352475358750668213444607353872754650805031912866692119819377041901642732455911509867728218394542745330014071040326856846990119719675
  • No JCA, podemos gerar valores apropriados para os parâmetros necessários através de uma instância apropriada da classe AlgorithmParameterGenerator.
  • Em vez de trabalharmos directamente com a classe BigInteger, pode-se fazer uso da classe KeyAgreement.
  • No JCE Reference Guide está disponível um exemplo de codificação do protocolo.

Novas classes:


Aula 6 - Continuação da codificação do protocolo Diffie-Hellman

Nesta aula pretende-se concluir o protocolo de acordo de chaves Diffie-Hellman. Sugere-se que agora façam exclusivamente uso das funcionalidades oferecidas pela JCA, nomeadamente:

  • Classe AlgorithmParameterGenerator para gerar os parâmetros P e G do algoritmo;
  • Classe KeyPairGenerator para gerar os pares de chaves ( (x, g^x) e (y,_g^y_) para cada um dos intervenientes);
  • Classe KeyAgreement que implementa o protocolo propriamente dito.

APIs:


Aula 7 - Teste intermédio


Aula 8 - Codificação do protocolo Station-to-Station.

Pretende-se complementar o programa com o acordo de chaves Diffie-Hellman para incluir a funcionalidade do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma troca de assinaturas (cifrada com a chave de sessão negociada), i.e.:

  1. Alice -> Bob : g^x
  2. Alice <- Bob : g^y, EK(SB(g^y, g^x))
  3. Alice -> Bob : EK(SA(g^x, g^y))

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:


Aula 9 - Continuação da aula anterior.


Aula 10 - Utilização de certificados X509 em Java

Pretende-se certificar as chaves públicas utilizadas no protocolo Station-to-Station com base em certificados X509. Para tal, disponibiliza-se:

  • Certificado de chave pública do Servidor: servidor.crt
  • Chave privada do Servidor (codificada em PKCS8): servidor.pk8
  • Certificado de chave pública do Cliente: cliente.crt
  • Chave privada do Cliente (codificada em PKCS8): cliente.pk8
  • Certificado auto-assinado da autoridade de certificação: ca.crt

A utilização de certificados pressupõe a sua validação. O Java disponibiliza uma API específica que deverá utilizar para o efeito (documentação abaixo). Para facilitar esse estudo recomenda-se o estudo/adaptação de um programa de exemplo que verifica a validade de uma cadeia de certificação: ValidateCertPath.java. Utilizando esse programa, podemos verificar a validade do certificado do servidor através da linha de comando:

java ValidateCertPath ca.crt servidor.crt 

Uma segunda questão que surgirá neste trabalho é a manipulação dos formatos das chaves: as chaves privadas correspondentes aos certificados fornecidos estão codificadas num formato standard PKCS8. Para se converter esse formato num objecto Java apropriado terá de se utilizar uma instância da classe KeyFactory. O fragmento de código que se apresenta ilustra esse processo:

        byte[] encodedKey;      // read from file
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encodedKey);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        RSAPrivateKey privKey =
        (RSAPrivateKey)keyFactory.generatePrivate(keySpec);

Classes requeridas:

Outra documentação relevante:


Aula 11 - Continuação da aula anterior.


Aula 12 - Geração de Certificados X509.

Nesta sessão iremos fazer uso do openssl para construir uma pequena autoridade de certificação.

O processo de emissão de certificados X509 passa pelos seguintes passos:

  1. - O utilizador gera um par de chaves;
  2. - O utilizador produz um "pedido de certificado" que contém a sua identificação e a sua chave pública, que é assinado com a sua chave privada (o que certifica que quem solicita o certificado está na posse da respectiva chave privada);
  3. - A autoridade de certificação valida os dados contidos no certificado e, no caso de certificar positivamente esses dados, emite o certificado de chave pública correspondente.
  4. - O certificado é enviado ao utilizador e, eventualmente, publicado por outros meios (e.g. serviço de directoria).

Para cada um destes passos iremos fazer uso dos comandos respectivos do openssl.

Geração de chaves:

openssl genrsa -out grupoXPTO.key

Para utilizar a chave privada no Java é conveniente converter o seu formato para PKCS8

openssl pkcs8 -topk8 -nocrypt -in grupoXPTO.key -outform der -out grupoXptoPrivKey.der

Geração do pedido de certificado:

openssl req -new -key grupoXPTO.key -out grupoXPTO.csr 

Emissão do certificado: A emissão de certificados é normalmente realizada com o auxílio de scripts que invocam o comando openssl com os argumentos apropriados. Existem duas scripts normalmente utilizadas para este efeito:

  • CA.pl - distribuída com o "openssl".
  • sign.sh - distribuída com o "mod_ssl". Espera encontrar ficheiros ca.key e ca.crt.

Produção de PKCS12: Para certas utilizações (e.g. browsers, leitores de email, etc.) é conveniente encapsularmos o certificado e respectiva chave privada num PKCS12.

openssl pkcs12 -export -chain -CAfile cacert.pem -name GrupoXPTO -aes128 -inkey grupoXPTO.key -in grupoXPTO.crt -out GrupoXPTO.p12

Verificação dos certificados:

openssl verify -CAfile cacert.pem cert1.crt cert2.crt ...

utilizando este Certificado da autoridade de certificação de raiz.

Apontadores úteis:



CriptografiaAplicadaTP0708Turnos 10 Oct 2007 - 01:17 - r3 JoseBacelarAlmeida

Turno 1 (16:00-18:00)

Número Curso Nome
30259 LESI Rui ???
35308 LESI Francisco Leite
8808 LESI Álvaro Agante
40625 LESI Nuno Pôjo
40631 LESI Paulo Santos
41833 LESI Mário Duarte
40609 LESI Carlos Castro
40614 LESI ??? Soares
40600 LESI Nelson Barroso
24279 LESI Nuno Costa
40647 LESI Marco Brito
40676 LESI Filipe ???
41032 LESI Elísio Simão
40683 LESI Oscar Brito
40662 LESI Marco Gomes
35284 LESI Bruno Araújo

+ alunos da UCE de CSSI.

Turno 2 (18:00-20:00)

Número Curso Nome
27637 LESI Manuel Cunha
35328 LESI Joel Rocha
??? LESI Duarte Alves
??? LESI Tiago Cardoso
30208 LESI Jorge Rebelo
35826 LMCC Joana Vilas Boas
34559 LMCC Sara Fernandes
38608 LMCC Filipe Mendes
35816 LMCC Davide Sousa
41031 LMCC Rui Gonçalves
33202 LESI Paulo de Jesus
35291 LESI Carlos Lopes
24709 LESI João Cunha
40663 LESI Samuel Alpoim
40622 LESI Henrique Coelho
42153 LESI Miguel Lopes
35806 LMCC Bruno Sousa
----- ---- ------------
38159 LESI Pedro Oliveira
35290 LESI Carlos Silva
40629 LESI Fernando Barroso
40655 LESI Márcio Moreira
40612 LESI Pedro Almeida
40635 LESI Ana Anjo
37984 LESI Carlos Braga
29251 LESI Nuno Silva
35286 LESI Bruno Dias
35371 LESI Rui Valente
35841 LESI Júlio Lopes
CriptografiaBiomedica0506 24 Sep 2008 - 18:59 - r6 JoseBacelarAlmeida

Education.Criptografia

Licenciatura em Engenharia Biomédica - Ramo Bioinformática
4º Ano - 1º Semestre
Ano lectivo 2005/2006


Programa

  • Conceitos Fundamentais: criptografia e criptoanálise; cifras, chaves e comunicação segura; cifras simétricas; distribuição e acordo de chaves; cifras assimétricas e criptografia de chave pública; assinaturas digitais e códigos de autenticação de mensagens; identificação.

  • Certificação e Infraestrutura de Chave Pública (PKI): certificados e CRLs; autoridades de registo; autoridades de certificação; cadeias e hierarquias de certificação; standards de criptografia de chave pública.

  • Aplicações e Protocolos Criptográficos: protocolos de sessão (SSL, SSH); segurança em correio electrónico (PGP, S/MIME); bases de dados seguras.

Bibliografia

  • Apontamentos da disciplina

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.

  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.

Critérios de Avaliação

Exame escrito

Apontamentos

Ver aqui

Classificações dos Exames Teóricos

Equipa Docente

Horário Lectivo

Turnos Horário Sala Docente
T1 5ªfeira 10:00-13:00 DI A2 jmv

Horário de Atendimento

Docente Horário
jmv 2ª feira 14:30-17:30
jmv 3ª feira 14:30-17:30
CriptografiaBiomedica0607 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
Notícias

Já estão disponíveis as notas da época normal -- ManuelBernardoBarbosa - 30 Jan 2007

Site criado. -- ManuelBernardoBarbosa - 21 Sep 2006

Criptografia 2006-2007

Licenciatura em Engenharia Biomédica

(Edição 2005-2006)


Notas

  • Notas da época de recurso:

Número Nome Nota
40440 José Miguel Soares 16
41551 João Pedro Pinheiro 12

Equipa Docente

Horários

Tipo Horário Docente
T/TP 5a Feira das 10:00 às 13:00 (DI - 1.07) ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2a 16:00 - 18:00, 5a 14:00-16:00


Material Disponibilizado

Aulas Teóricas

  • Apontamentos teóricos (actualizados semanalmente): parte 1, parte 2

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

NA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 80% (nota mínima de 8 valores)
    • Componente Prática (Avaliação contínua): 20%
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • Os trabalhos serão realizados maioritáriamente nas aulas e serão individuais.
    • Será necessário elaborar um relatório final do trabalho efectuado.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • S/MIME
      • Secure Sockets Layer (SSL)
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 30 Jan 2007

CriptografiaBiomedica0809 02 Jul 2009 - 17:11 - r14 JoseBacelarAlmeida

Criptografia 2008-2009

Licenciatura em Engenharia Biomédica

(Edição 2006-2007; Edição 2005-2006)


Equipa Docente

  • José Carlos Bacelar Almeida (responsável pela disciplina)

Horários

Tipo Horário Docente
T/TP 5a Feira das 10:00 às 13:00 (DI - 1.07) jba

Horários de Atendimento

Docente Horário
jba 3a 14:00-17:00
jba 5a 14:00-17:00


Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas

Projectos Práticos

Ver enunciados aqui.

Slides sobre configuração do Apache+modssl


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Criptografia.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

NA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
    • Componente Prática (Avaliação contínua+Trabalho prático): 30%
  • Avaliação prática
    • Os trabalhos serão realizados maioritariamente nas aulas.
    • Será necessário elaborar um relatório final do trabalho efectuado.

Programa Resumido

  • Teórica:
    • Introdução
    • Terminologia
      • Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Aplicações e Protocolos Criptográficos Comerciais
      • Secure Sockets Layer (SSL)
      • SSH
      • Pretty Good Privacy (PGP)
      • S/MIME

  • Prática:
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Avaliação

Nome Aval. Prática Teste Final
Ana Isabel Faria Coelho 13 14.75 14
Andreia Daniela Fernandes Félix 12 13.5 13
António José Vieira Basílio Martins Morais 16 11 13
Frederico de Braga e Alves 12 10.5 11
João Tiago Antunes Ferreira 14 10.5 12
Pedro Eduardo Rodrigues da Silva Gomes 16 14.5 15
Rui Manuel Carneiro Pimenta Marinho 18 19 19

Nome Aval. Prática Teste Final
Andreia Daniela Fernandes Félix 12 15.75 15

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press 2001.
  • Java Cryptography, Jonathan Knudsen, O'Reilly 1998.


CriptografiaBiomedicaProj0809 05 Dec 2008 - 22:56 - r2 JoseBacelarAlmeida

Mini-Projecto Prático

Descrevem-se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais do trabalho deverão ser desenvolvidas em Java, fazendo uso da framework JCA/JCE. Os grupos são incentivados a fazerem uso dos programas de exemplo que tem vindo a ser desenvolvidos nas aulas teórico-práticas da disciplina. A data limite para a entrega do trabalho é 5 de Janeiro de 2009, devendo este ser enviado por email para o docente da disciplina, acompanhado por um relatório que documente as opções tomadas ao longo do seu desenvolvimento. A defesa do trabalho terá lugar no dia 9 de Janeiro de 2009, durante o horário lectivo da disciplina (10:00 - 13:00).


Projecto 1

O objectivo deste trabalho consiste em desenvolver uma aplicação de conversação (chat) segura. O cenário considerado é uma organização contendo um conjunto bem definido de utilizadores (e.g. departamento de uma empresa). Em termos da arquitectura do sistema, consideram-se as seguintes componentes:

  • Servidor: aplicação Java responsável por disponibilizar o serviço de chat;
  • Cliente: aplicação Java que possibilita o acesso dos utilizadores ao sistema;
  • CA: autoridade de certificação responsável pela emição dos certificados requeridos para o funcionamento das aplicações.
Em termos de funcionalidade, sugere-se:
  • A identidade dos utilizadores deverá ser assegurada por intermédio da utilização de certificados X509. A emissão dos certificados necessários é parte integrante do projecto. No entanto, não se impõe que essa componente seja realizada por uma aplicação Java desenvolvida especificamente para esse fim — pode-se fazer uso de ferramentas de domínio público como o openssl.
  • Um utilizador acede ao sistema através da aplicação cliente. Após apresentar as credenciais requeridas, terá acesso à “sala de conversação” onde poderá comunicar de forma segura com os utilizadores que se encontrem on-line.
  • (opcional) Construção de uma interface gráfica simples para os clientes.
  • (opcional) Um utilizador ligado ao sistema pode ainda solicitar uma conversação privada com um outro utilizador também disponível on-line. Nesse caso, e se o parceiro aceitar a comunicação, é estabelecida uma ligação segura entre eles.
  • (opcional) Deverá ser ainda possível a um utilizador enviar mensagens para serem lidas off-line por outros utilizadores. O servidor deverá assim gerir “caixas de correio” onde armazena as mensagens até que os destinatários se liguem ao sistema.

Em todas a comunicações estabelecidas deverão ser adoptados os requisitos de segurança sempre na perspectiva mais conservadora (e.g. um utilizador legítimo, se não estiver on-line, não deverá ser capaz de interceptar o conteúdo das mensagens trocadas na sala de conversação). A identificação clara dos requisitos de segurançaa, assim como escolhas fundamentada das técnicas criptográficas utilizadas, será dos aspectos mais valorizados na avaliação do trabalho.

Projecto 2

O objectivo deste projecto consiste em complementar o projecto desenvolvido no âmbito da disciplina de Sistemas Distribuídos para incorporar aspectos de segurança nos canais de comunicação envolvidos e no acesso aos recursos. Em particular, pretende-se

  • Utilizar o protocolo SSL em modo de autenticação mútua para os canais de comunicação:
    • Cliente(s) ↔ Servidor
    • Servidor ↔ motor de base de dados
  • A autenticação das várias entidades envolvidas deverá fazer uso de certificados X509. A emissão dos certificados necessários é parte integrante do projecto. No entanto, não se impõe que essa componente seja realizada por uma aplicação Java desenvolvida especificamente para esse fim — pode-se fazer uso de ferramentas de domínio público como o openssl.
  • (opcional) Construção de uma interface gráfica simples baseada em applets.
  • (opcional) Configuração de um servidor Web (onde se disponibiliza a applet) cujo controlo de acessos é regulado pelos mesmos certificados da aplicação.
  • (opcional) Avaliar como é que o(s) mecanismo(s) de autenticação do motor de base de dados se podem associar à autenticação com certificados X509 utilizados na comunicação X509.

Em todas a comunicações estabelecidas deverão ser adoptados os requisitos de segurança sempre na perspectiva mais conservadora. A identificação clara dos requisitos de segurançaa, assim como escolhas fundamentada das técnicas criptográficas utilizadas, será dos aspectos mais valorizados na avaliação do trabalho.

CriptografiaLECOM0506 19 Sep 2008 - 13:41 - r21 JoseBacelarAlmeida
Notícias

  • Sumário: On-Line Certificate Status Protocol (OCSP) e Secure Sockets Layer (SSL). -- ManuelBernardoBarbosa - 25 May 2006

  • Sumário: Assinaturas digitais, identificação de agentes, protocolos de conhecimento zero, mecanismo desafio-resposta. -- ManuelBernardoBarbosa - 20 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Segurança teórica de cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 06 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 30 Mar 2006.

  • Sumário: Implementação de CBC a partir de ECB sobre openssl. Segurança teórica de cifras simétricas. -- ManuelBernardoBarbosa - 23 Mar 2006

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB -- ManuelBernardoBarbosa - 16 Mar 2006.

  • Sumário: Implementação em C de cifragem RC4. Cifras por blocos. DES, IDEA e AES. Padding. -- ManuelBernardoBarbosa - 9 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 2 Mar 2006.

Education.Criptografia LECOM 2005-2006


Equipa Docente

Horários

Tipo Horário Docente
T 5a Feira das 11:00 às 13:00 ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 5a Feira das 14:00 às 16:00 (Gualtar)


Notas

  • Notas da época especial

Número Nome Exame Final
39263 Cristophe Oliveira Gonçalves Costa 7 R
39258 David Marques Pires 6 R
41566 João Miguel Carvalho Oliveira - F

Material Disponibilizado


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame):80% (nota mínima de 8 valores)
    • Avaliação Contínua (Participação nas Aulas): 20%.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


ManuelBernardoBarbosa - 21 Feb 2006

CriptografiaLECOM0607 19 Sep 2008 - 13:40 - r19 JoseBacelarAlmeida
Notícias

Para consultar o exame da época especial, contactar o docente da disciplina. -- -- ManuelBernardoBarbosa - 20 Set 2007

Os exames de recurso poderão ser cunsultados na 5a feira dia 26 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 25 Jul 2007

O exame oral realizar-se-á na 2a feira, dia 9 de Julho, às 15:00, no Departamento de Informática em Gualtar/Braga. O aluno em questão deverá contactar o docente por e-mail, no caso da existência de algum impedimento à realização do exame oral nesta data. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da 2a chamada poderão ser consultados na 2a feira dia 9 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da primeira chamada poderão ser consultados na aula de dúvidas de 5a feira. -- ManuelBernardoBarbosa - 27 Jun 2007

Haverá uma aula de dúvidas de Criptografia, antes do exame da 2a chamada. Terá lugar na 5a feira, dia 28 de Junho, às 16:00, na sala de aula onde decorreram as aulas da disciplina. -- ManuelBernardoBarbosa - 26 Jun 2007

Criptografia MECOM 2006-2007


Notas

Equipa Docente

Horários

Tipo Horário Docente
TP 3a Feira das 10:00 às 11:30 ManuelBernardoBarbosa
TP 5a Feira das 11:30 às 13:00 ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 3a Feira das 14:00 às 16:00 (Gualtar)


Material Disponibilizado


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame):70% (nota mínima de 8 valores)
    • Avaliação Contínua (Participação nas Aulas): 30%.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 24 Feb 2007

CriptografiaMestradoNews0405 12 Feb 2007 - 19:22 - r5 JoseBacelarAlmeida
14 Out As notas do exame de recurso já saíram.

25 Jul As notas do exame já saíram. Caso o desejem, é possível marcar um exame oral para os alunos que reprovaram. Teria que se realizar até ao final desta semana.

15 Mar A aula da próxima Sexta, 18 de Março, será substituida por uma palestra do Dr. António Lázaro sobre os primórdios da criptografia em Portugal. Apareçam às 14:00 no DI-A1.

CriptografiaMestradoNews0506 07 Mar 2007 - 00:37 - r8 JoseBacelarAlmeida

  • Sumário: Certificate Revocation Lists. Problemas do X.509. Public Key Cryptography Standards. -- ManuelBernardoBarbosa - 19 May 2006

  • Sumário: Digital Signature Algorithm. Protocolos de Identificação: conhecimento zero, desafio-resposta. -- ManuelBernardoBarbosa - 28 Apr 2006

  • Sumário: RSA OAEP. Assinaturas digitais. Protocolo Station to Station. -- ManuelBernardoBarbosa - 21 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 08 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 31 Mar 2006.

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB. -- ManuelBernardoBarbosa - 25 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 11 Mar 2006.

CriptografiaMestradoNews0607 19 Sep 2008 - 13:41 - r2 JoseBacelarAlmeida
CriptografiaMestrados0304 19 Sep 2008 - 13:41 - r7 JoseBacelarAlmeida

Education.Criptografia - MICEI

Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados - MSDPA

2003-2004


Notas

Responsáveis pela Disciplina

JoseManuelValenca
ManuelBernardoBarbosa

Horários das Aulas

  • MICEI: 5a das 11:00 às 13:00 (Sala DI-A2)
  • MSDPA: 6a das 14:00 às 16:00 (Sala DI-2)

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame) - 100%

Documentação

  • Cripto-Mestrado.pdf: Apontamentos Teóricos MBB
  • Exames de Education.Criptografia Aplicada exemplificativos do tipo de pergunta que poderá ser feita relativamente a certificação e aplicações. ( exemplo 1, exemplo 2 )

Bibliografia

Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier John Wiley & Sons, 1995.

Cryptography: Theory and Practice, Douglas R. Stinson CRC Press, 1995.

A Course in Number Theory and Cryptography, Neal Koblitz Springer-Verlag, 1994. (2nd edition)


-- ManuelBernardoBarbosa - 23 Apr 2004

CriptografiaMestrados0405 19 Sep 2008 - 13:41 - r12 JoseBacelarAlmeida
Notícias

14 Out As notas do exame de recurso já saíram.

25 Jul As notas do exame já saíram. Caso o desejem, é possível marcar um exame oral para os alunos que reprovaram. Teria que se realizar até ao final desta semana.

15 Mar A aula da próxima Sexta, 18 de Março, será substituida por uma palestra do Dr. António Lázaro sobre os primórdios da criptografia em Portugal. Apareçam às 14:00 no DI-A1.

Education.Criptografia (MICEI)

Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados (MSDPA)

2004-2005


Docente

Programa

  • Conceitos Fundamentais
    • Education.Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Cifras simétricas, distribuição e acordo de chaves
    • Cifras assimétricas e Education.Criptografia de Chave Pública
    • Assinaturas digitais e Message Authentication Codes
    • Identificação
  • Certificação e Public Key Infrastructure (PKI)
    • Certificados e CRLs
    • Autoridades de Registo
    • Autoridades de Certificação
    • Cadeias e Hierarquias de Certificação
    • Public Key Cryptography Standards (PKCS)
  • Aplicações e Protocolos Criptográficos Comerciais
    • Pretty Good Privacy (PGP)
    • Secure Sockets Layer (SSL)
    • IPsec
    • Kerberos
    • SSH

Horário das Aulas

  • MICEI: 6a das 14:00 às 16:00 (DI 0.04)
  • MSDPA: 6a das 14:00 às 16:00 (DI 0.04)

Critérios de Avaliação

  • Hipótese 1
    • Exame Teórico (100%)
  • Hipótese 2
    • Exame Teórico (50%) + Trabalho Prático (50%)

  • Notas do exame (txt)
  • Notas do recurso (txt)

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Acetatos

  • Manuel Bernardo Barbosa
    • Terminologia (pdf)
    • Certificação e PKI (pdf)
    • Aplicações e Protocolos (pdf)
  • José Carlos Bacelar
    • Cifras Clássicas (pdf)
    • Cifras Sequenciais (pdf)
    • Cifras por Blocos (pdf)

Edições Anteriores

CriptografiaMestrados0506 19 Sep 2008 - 13:41 - r9 JoseBacelarAlmeida
Notícias

  • Sumário: Certificate Revocation Lists. Problemas do X.509. Public Key Cryptography Standards. -- ManuelBernardoBarbosa - 19 May 2006

  • Sumário: Digital Signature Algorithm. Protocolos de Identificação: conhecimento zero, desafio-resposta. -- ManuelBernardoBarbosa - 28 Apr 2006

  • Sumário: RSA OAEP. Assinaturas digitais. Protocolo Station to Station. -- ManuelBernardoBarbosa - 21 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 08 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 31 Mar 2006.

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB. -- ManuelBernardoBarbosa - 25 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 11 Mar 2006.

Education.Criptografia (MICEI)

2005-2006


Docente

Programa

  • Conceitos Fundamentais
    • Education.Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Cifras simétricas, distribuição e acordo de chaves
    • Cifras assimétricas e Education.Criptografia de Chave Pública
    • Assinaturas digitais e Message Authentication Codes
    • Identificação
  • Certificação e Public Key Infrastructure (PKI)
    • Certificados e CRLs
    • Autoridades de Registo
    • Autoridades de Certificação
    • Cadeias e Hierarquias de Certificação
    • Public Key Cryptography Standards (PKCS)
  • Aplicações e Protocolos Criptográficos Comerciais
    • Pretty Good Privacy (PGP)
    • Secure Sockets Layer (SSL)
    • IPsec
    • Kerberos
    • SSH

Horário das Aulas

  • MICEI: Sábado das 9:00 às 11:00 (DI 0.04)

Critérios de Avaliação

  • Hipótese 1
    • Exame Teórico (100%)
  • Hipótese 2
    • Trabalho Prático (100%)

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Material Disponibilizado

Edições Anteriores


ManuelBernardoBarbosa - 21 Feb 2006

CriptografiaMestrados0607 19 Sep 2008 - 13:41 - r18 JoseBacelarAlmeida

Criptografia (MICEI) / Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados (MSDPA)

Ano Lectivo 2006-2007


Ano Lectivo 2006-2007

Docente

Programa

  • Conceitos Fundamentais
    • Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Cifras simétricas, distribuição e acordo de chaves
    • Cifras assimétricas e Criptografia de Chave Pública
    • Assinaturas digitais e Message Authentication Codes
    • Identificação
  • Certificação e Public Key Infrastructure (PKI)
    • Certificados e CRLs
    • Autoridades de Registo
    • Autoridades de Certificação
    • Cadeias e Hierarquias de Certificação
    • Public Key Cryptography Standards (PKCS)
  • Aplicações e Protocolos Criptográficos Comerciais
    • Pretty Good Privacy (PGP)
    • Secure Sockets Layer (SSL)
    • IPsec
    • Kerberos
    • SSH

Horário das Aulas

  • MICEI/MSDPA: Sexta das 14:00 às 16:00 (DI A2)

Critérios de Avaliação

  • Exame Teórico (50%) + Trabalho Prático (50%)

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Material Disponibilizado

Avaliação

Mestrado em Informática

Nome Trab. Prático Exame FINAL
Giovan Germoglio 14 10.2 12
Oscar Dias 16 16.3 16

Mestrado em Sistemas de Dados e Processamento Analítico

Nome Trab. Prático Exame FINAL
António Ferreira 16 11.4 14
Bruno Nunes 13 17 15
Carla Santos 17 13.1 15
Ibraim Torres 17 11.1 14
Joel Ribeiro 18 14.7 16
José Pedro Pinto 17 18.6 18
Luis Ferros 18 15.8 17
Rui Afonseca 17 19.2 18
Sabrina Cruz 14    
Sílvia Soares 11 7.5 10

Trabalhos Práticos

Calendário de Apresentação dos Trabalhos Práticos

Data Projecto Nome Slides
11-05 JCA/JCE Rui Afonseca Apresentação (PPT), Relatório (PDF)
11-05 Criptografia sobre Curvas Elípticas Ibraim Torres Apresentação (PDF), Relat. (PDF)
18-05 ----- --- ---
18-05 ----- --- ---
25-05 RSA - OAEP Sílvia Soares Apresentação (PPT), Relatório (DOC)
25-05 Máquina de Cifra Enigma Oscar Dias Apresentação (PDF), Simul. (ZIP)
01-06 Criptografia em Aplicações Web (PHP) Bruno Nunes Apresentação (PPT), Relat. (PDF)
01-06 Segurança em Redes Wireless Giovan Germoglio Apresentação (PDF)
01-06 Técnicas de Data-Mining para Criptoanálise Joel Tiago Ribeiro Apres. (PPT), Relat. (PDF), Aplic. (ZIP)
08-06 Aspectos de Segurança em Data-Warehouse Sabrina Cruz  
08-06 Criptografia Clássica José Pedro Pinto Apresentação (PPT)
08-06 Segurança em Web-Services Carla Santos Apres. (PPT), Rel. (PDF)

Monografias

Tema Nome Monografia
Dinheiro Digital António Ferreira Monografia (PDF)
Certificados Digitais - Sistema de Certificação Electrónica do Estado (SCEE) Luis Miguel Ferros Monografia (PDF)

Edições Anteriores


ElementosCriptografia0304 19 Sep 2008 - 13:35 - r15 JoseBacelarAlmeida

Elementos/Fundamentos de Education.Criptografia

2003-2004


Notas

Responsável pela Disciplina

JoseManuelValenca

Equipa Docente

Horários das Aulas

  • Teórica: 5a das 11:00 às 13:00 (Sala DI-2)
  • Teórico Prática: 5a das 14:00 às 16:00 (Sala DI-2)

Horários de Atendimento

Docente Horário
JoseManuelValenca  
ManuelBernardoBarbosa 3as 14-16, 5as 16-18

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 40% (opcional)
    • (No caso do trabalho prático não ser realizado, a nota final será limitada a 12 valores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho prático cujo enunciado está disponível aqui.
    • O trabalho será realizado extra-aulas, individualmente.
    • Será necessário efectuar uma apresentação do trabalho efectuado, e entregar uma listagem comentada do código desenvolvido.
    • Para aqueles alunos que gostariam de realizar um Trabalho Prático com outras características, aqui estão algumas ideias (Projectos.pdf). Para mais informação contactar ManuelBernardoBarbosa.

Objectivos

Este curso pretende divulgar as técnicas criptográficas base que são mais relevantes à segurança dos sistemas de informação, em geral, e das comunicações electrónicas em particular.

Em alternativa à tradicional criptografia militar e diplomática, a ênfase do curso vai ser na chamada criptografia civil que tem como área de aplicação privilegiada o sector financeiro mas que se tem vindo a estender à globalidade dos sistemas de informação.

A divulgação e disponibilização de meios computacionais eficientes e baratos veio tornar obsoletas muitas das técnicas criptográficas tradicionais cuja segurança dependia, essencialmente, do seu desconhecimento público.

Ao invés, neste curso estudaremos uma nova geração de técnicas criptográficas que as vieram substituir as tradicionais e que, ao contrário destas, são técnicas abertas. Isto significa que os algoritmos e as metodologias de gestão de informação a eles associadas são publicamente conhecidos. Também significa que a sua segurança deve ser mais exigente porque tem de sobreviver ao escrutínio público.

Todas as técnicas criptográficas procuram resolver um ou mais dos problemas clássicos da comunicação segura:

  • Confidencialidade - É o problema que estuda o controlo do conhecimento da informação. Neste curso estudaremos cifras que constituem a técnica mais usual de garantir a confidencialidade da informação. Veremos várias classes de cifras adaptadas a requisitos distintos.
  • Autenticidade - Em termos de criptografia civil este é, talvez, o problema essencial. Estuda-se as circunstâncias em que items de informação (documentos electrónicos, ordens de pagamento, registos numa base de dados, etc.) são autênticos no sentido em que existem garantias de integridade e têm perfeitamente identificados os seus titulares. As assinaturas digitais são as técnicas base, estudadas neste curso, para lidar com este problema.
  • Identificação - Estudas as relações de entidades (pessoas, organizações e sistemas de informação) entre si. O reconhecimento da identidade de um utilizador num sistema operativo é, talvez, a versão mais conhecida deste problema. No entanto hoje em dia, com a crescente divulgação dos serviços mais variados através de meios electrónicos, a identificação de utilizadores legítimos desses serviços é um problema extremamente premente. As técnicas de identificação podem ter várias naturezas: podem ser baseadas em cifras ou em assinaturas digitais mas podem também ser baseadas em funções de hash.

É importante frisar que as técnicas criptográficas estudadas neste curso são o cerne das metodologias criptográficas usadas em aplicações concretas mas não definem completamente essas metodologias. Fica de fora deste curso toda a componente de protocolos criptográficos que será objecto de uma disciplina subsequente.

Programa Resumido

  • Terminologia 
    • Canais seguros de informação. 
    • Os objectivos e os problemas da Education.Criptografia. 
    • Noção de cifra simétrica. 
    • Noção de criptografia de chave públicas: cifras, assinaturas e protocolos.
  • Cifras Simétricas 
    • Estudo das cifras orientadas à eficiência computacional. 
    • Cifras sequenciais para processamento de informação em tempo real. 
    • Cifras por blocos; seus modos e standards: DES e AES. 
    • Introdução à criptoanálise linear e diferencial.
  • Teoria dos Números
    • Técnicas de teoria dos números em criptografia. 
    • Divisibilidade. 
    • Função de Euler-Phi. 
    • Teoremas de Fermat e Chinês dos Restos.Factorização. 
    • Grupos Cíclicos e o logaritmo discreto. 
    • Números primos e factorização.
  • Education.Criptografia de Chave Pública baseada na Factorização de Inteiros
    • As técnicas RSA e Rabin. Cifras, assinaturas e protocolos. 
    • Assinaturas com recuperação de mensagem.
  • Education.Criptografia de Chave Pública baseada no PLD
    • Segurança e o PLD (Problema do Logaritmo Discreto). 
    • O protocolo de Diffie-Hellman. Técnicas El Gamal (cifra e assinatura). 
    • Esquema de assinaturas DSA.
  • Education.Criptografia de Chave Pública: Protocolos
    • Protocolos de acordo e pré-distribuição de chaves. 
    • Protocolos de identificação. 
  • Certificados.
  • Education.Criptografia de Chave Pública baseada em Curvas Elípticas
    • O standard IEEE P1363. 
    • Técnicas criptográficas baseadas no PLDCE: 
      • cifras (El Gamal e ECES)
      • assinaturas (Nyberg-Rueppel e ECDSA)
      • protocolos (MQV e MO).

Bibliografia

Apontamentos Teóricos, José Valença, Departamento de Informática, Universidade do Minho.

Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier John Wiley & Sons, 1995.

Cryptography: Theory and Practice, Douglas R. Stinson CRC Press, 1995.

A Course in Number Theory and Cryptography, Neal Koblitz Springer-Verlag, 1994. (2nd edition)


-- ManuelBernardoBarbosa - 25 Fev 2004

ElementosCriptografia0405 19 Sep 2008 - 13:35 - r10 JoseBacelarAlmeida
Notícias

27 Jul Já sairam as notas da época de recurso.

15 Jul Já sairam as notas da época normal.

1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem a entrega por email.

31 Mar Foi publicado o enunciado do segundo trabalho prático.

15 Mar Na próxima Sexta, 18 de Março, decorrerá no DI-A1 às 14:00 uma palestra sobre os primórdios da criptografia em Portugal. Apareçam!

14 Mar Já existem ideias para projectos alternativos. Vejam aqui.

9 Mar Foi publicado o enunciado do primeiro trabalho prático.

16 Fev A apresentação desta opção será no dia 21 Fev às 15h10 no DI-A2.

Elementos/Fundamentos de Education.Criptografia

Licenciatura em Engenharia de Sistemas e Informática
Licenciatura em Matemática e Ciências da Computação
4º Ano - 2º Semestre
Ano lectivo 2004-2005


Responsável

Equipa Docente

Docente Atendimento
JoseManuelValenca (T)  
AlcinoCunha (TP) 2a das 9:00 às 11:00, 6a das 10:00 às 12:00

Horário das Aulas

  • Teórica: 4a das 8:00 às 10:00 (DI A2)
  • Teórico-prática: 5a das 9:00 às 11:00 (DI 1.04)

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critério de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 40%
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um conjunto de trabalho práticos, cujo enunciado se encontra aqui.
    • Os trabalhos serão realizado extra-aulas e individualmente.
    • Será necessário efectuar uma apresentação dos trabalhos efectuados, e entregar uma listagem comentada do código desenvolvido.
    • Alternativamente, poderão realizar um dos projectos descritos aqui.

  • Notas da época normal (pdf)
  • Notas da época recurso (pdf)

Objectivos

Este curso pretende divulgar as técnicas criptográficas base que são mais relevantes à segurança dos sistemas de informação, em geral, e das comunicações electrónicas em particular.

Em alternativa à tradicional criptografia militar e diplomática, a ênfase do curso vai ser na chamada criptografia civil que tem como área de aplicação privilegiada o sector financeiro mas que se tem vindo a estender à globalidade dos sistemas de informação.

A divulgação e disponibilização de meios computacionais eficientes e baratos veio tornar obsoletas muitas das técnicas criptográficas tradicionais cuja segurança dependia, essencialmente, do seu desconhecimento público.

Ao invés, neste curso estudaremos uma nova geração de técnicas criptográficas que as vieram substituir as tradicionais e que, ao contrário destas, são técnicas abertas. Isto significa que os algoritmos e as metodologias de gestão de informação a eles associadas são publicamente conhecidos. Também significa que a sua segurança deve ser mais exigente porque tem de sobreviver ao escrutínio público.

Todas as técnicas criptográficas procuram resolver um ou mais dos problemas clássicos da comunicação segura:

  • Confidencialidade - É o problema que estuda o controlo do conhecimento da informação. Neste curso estudaremos cifras que constituem a técnica mais usual de garantir a confidencialidade da informação. Veremos várias classes de cifras adaptadas a requisitos distintos.
  • Autenticidade - Em termos de criptografia civil este é, talvez, o problema essencial. Estuda-se as circunstâncias em que items de informação (documentos electrónicos, ordens de pagamento, registos numa base de dados, etc.) são autênticos no sentido em que existem garantias de integridade e têm perfeitamente identificados os seus titulares. As assinaturas digitais são as técnicas base, estudadas neste curso, para lidar com este problema.
  • Identificação - Estudas as relações de entidades (pessoas, organizações e sistemas de informação) entre si. O reconhecimento da identidade de um utilizador num sistema operativo é, talvez, a versão mais conhecida deste problema. No entanto hoje em dia, com a crescente divulgação dos serviços mais variados através de meios electrónicos, a identificação de utilizadores legítimos desses serviços é um problema extremamente premente. As técnicas de identificação podem ter várias naturezas: podem ser baseadas em cifras ou em assinaturas digitais mas podem também ser baseadas em funções de hash.

É importante frisar que as técnicas criptográficas estudadas neste curso são o cerne das metodologias criptográficas usadas em aplicações concretas mas não definem completamente essas metodologias. Fica de fora deste curso toda a componente de protocolos criptográficos que será objecto de uma disciplina subsequente.

Programa Resumido

  • Terminologia 
    • Canais seguros de informação. 
    • Os objectivos e os problemas da Education.Criptografia. 
    • Noção de cifra simétrica. 
    • Noção de criptografia de chave públicas: cifras, assinaturas e protocolos.
  • Cifras Simétricas 
    • Estudo das cifras orientadas à eficiência computacional. 
    • Cifras sequenciais para processamento de informação em tempo real. 
    • Cifras por blocos; seus modos e standards: DES e AES. 
    • Introdução à criptoanálise linear e diferencial.
  • Teoria dos Números
    • Técnicas de teoria dos números em criptografia. 
    • Divisibilidade. 
    • Função de Euler-Phi. 
    • Teoremas de Fermat e Chinês dos Restos.Factorização. 
    • Grupos Cíclicos e o logaritmo discreto. 
    • Números primos e factorização.
  • Education.Criptografia de Chave Pública baseada na Factorização de Inteiros
    • As técnicas RSA e Rabin. Cifras, assinaturas e protocolos. 
    • Assinaturas com recuperação de mensagem.
  • Education.Criptografia de Chave Pública baseada no PLD
    • Segurança e o PLD (Problema do Logaritmo Discreto). 
    • O protocolo de Diffie-Hellman. Técnicas El Gamal (cifra e assinatura). 
    • Esquema de assinaturas DSA.
  • Education.Criptografia de Chave Pública: Protocolos
    • Protocolos de acordo e pré-distribuição de chaves. 
    • Protocolos de identificação. 
  • Certificados.
  • Education.Criptografia de Chave Pública baseada em Curvas Elípticas
    • O standard IEEE P1363. 
    • Técnicas criptográficas baseadas no PLDCE: 
      • cifras (El Gamal e ECES)
      • assinaturas (Nyberg-Rueppel e ECDSA)
      • protocolos (MQV e MO).

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Edições Anteriores

ElementosCriptografia0506 14 May 2009 - 23:35 - r19 JoseBacelarAlmeida
Notícias

Projectos - a data limite para a entrega dos projectos (protocolo Multicert/UM) é 30 de Setembro de 2006.

-- JoseBacelarAlmeida - 11 Set 2006

Classificações - As classificações já foram actualizadas com as notas da época de recurso. Encontram-se aqui.

-- JoseBacelarAlmeida - 29 Jul 2006

Classificações da época normal - Já estão disponíveis as classificações da época normal (1ª e 2ª chamadas). Encontram-se aqui.

-- JoseBacelarAlmeida - 17 Jul 2006

Notas da componente prática - Já está disponível a avaliação da componente prática da disciplina (aqui).

-- JoseBacelarAlmeida - 5 Jul 2006

Apontamentos (versão final) - Já está disponível a versão final dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 2 Jun 2006

Data de entrega do 2º trabalho - A data de entrega do 2º trabalho foi alterada para 8/6/2006.

-- JoseBacelarAlmeida - 25 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 23 May 2006

Projectos - já estão disponíveis as propostas de projectos no âmbito do protocolo Multicert/UM.

-- JoseBacelarAlmeida - 18 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 May 2006

Aula sobre prova de segurança do ElGamal - A aula de 11/05/2006 será dada pelo prof. Manuel Barbosa, sobre a prova de segurança da cifra ElGamal.

-- JoseBacelarAlmeida - 11 May 2006

Palestra - O coordenador Socrates/Erasmus, aproveitando a visita da Professora Tatjana Weltzer (Univ. Maribor, Eslovénia), sugeriu que a aula prática de 04/05/2006 fosse dedicada à assistencia da palestra Data Reusability. Por esse motivo a aula terá lugar no anfiteatro DI-A2.

-- JoseBacelarAlmeida - 03 May 2006

Apontamentos - Foram disponibilizados (secção da bibliografia) os apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 Apr 2006

JOIN'06 - Dada a realização das JOIN, não haverá aula TP no dia 06/04/2006 (ou mais precisamente, a aula será nas próprias jornadas).

-- JoseBacelarAlmeida - 04 Apr 2006

Elementos/Fundamentos de Education.Criptografia

Licenciatura em Engenharia de Sistemas e Informática
Licenciatura em Matemática e Ciências da Computação
4º Ano - 2º Semestre
Ano lectivo 2005-2006


Responsável

Equipa Docente

Docente Atendimento
JoseManuelValenca (T)  
JoseBacelarAlmeida (TP) 2a das 11:00 às 13:00, 2a das 14:00 às 16:00

Horário das Aulas

  • Teórica: 4a das 8:00 às 10:00 (DI A2)
  • Teórico-prática: 5a das 14:00 às 16:00 (DI 1.04)

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critério de Avaliação

  • Nota final
    • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 30%
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um conjunto de guiões e de pequenos trabalhos.

Opcionalmente, os alunos poderão ainda realizar um projecto individual (ver lista de propostas em ElementosCriptografiaProjs0506). Esse projecto consistirá numa monografia (eventualmente com uma componente de programação) sobre um tema relacionado com a disciplina, e combinado em conjunto com o docente. O peso deste projecto na avaliação da disciplina dependerá da dificuldade e abrangência do tema escolhido.

Notas

As classificações encontram-se disponíveis aqui.

Objectivos

Este curso introduz as técnicas criptográficas base relevantes à segurança dos sistemas de informação. Coloca ênfase especial na fundamentação matemática dessas técnicas e deixa para uma disciplina subsequente a sua aplicação em sistemas de informação concretos.

Programa Resumido

(versão PDF)

  • Introdução e Terminologia
    • Complexidade Computacional
    • Conhecimento, Incerteza e Entropia
    • Confiança, Acreditação, Autoridades e Verificação

  • Princípios Nucleares
    • Confiança
    • Computações
    • Conhecimento Zero
    • Unidirecionalidade
    • Aleatoriedade
    • "Hashing"

  • Teoria dos Números
    • Divisibilidade
    • Resultados Fundamentais da Divisibilidade
    • Raízes Quadradas
    • Algoritmos Básicos
    • Corpos Finitos
    • Corpos de Galois
    • Geração de sequências pseudo-aleatórias
    • Factorização de Inteiros
    • Logaritmo Discreto
    • Curvas Elípticas
    • Emparelhamentos ("Pairings")

  • Funções Booleanas
    • Funções de argumento Bn
    • Técnicas espectrais
    • Composição de funções booleanas
    • Diferenças, Linearidade e sua Criptoanálise
    • Funções de argumento GF(2n)
    • Criptoanálise Algébrica

  • Education.Criptografia Simétrica
    • Estrutura das cifras simétricas
    • Não-linearidade, difusão e mistura
    • Modos de operação

Aulas Práticas

Sessões laboratoriais onde se utiliza o sistema PARI-GP na resolução de pequenos problemas sobre a matéria da disciplina.

Bibliografia

Edições Anteriores

ElementosCriptografia0607 19 Sep 2008 - 13:36 - r12 JoseBacelarAlmeida
Notícias

Notas - saíram as notas da 1ª chamada

-- PaulaCristinaValenca? - 27 Jul 2007

JOIN'07 - devido a estar a decorrer as join'07, não haverá aula dia 10/05.

-- PaulaCristinaValenca? - 09 May 2007

Alteração da data de entrega de trabalho - a data limite para entrega do primeiro trabalho prático foi alterada para 7 de Maio 2007.

-- PaulaCristinaValenca? - 24 Apr 2007

Aula cancelada - a aula de 19/04 não irá decorrer.

-- PaulaCristinaValenca? - 18 Apr 2007

Trabalho Prático - o enunciado do primeiro trabalho prático está disponível aqui

-- PaulaCristinaValenca? - 15 Apr 2007

Mudança de sala - as aulas TP decorrerão a partir desta semana na sala 003

-- PaulaCristinaValenca? - 13 Mar 2007

Apontamentos - actualização.

-- PaulaCristinaValenca? - 12 Mar 2007

Apontamentos - a primeira parte dos apontamentos teóricos da disciplina está disponível na secção da bibliografia.

-- PaulaCristinaValenca? - 05 Mar 2007

Elementos/Fundamentos de Criptografia

Licenciatura em Engenharia de Sistemas e Informática
Licenciatura em Matemática e Ciências da Computação
4º Ano - 2º Semestre
Ano lectivo 2006-2007


Responsável

Equipa Docente

Docente Atendimento
JoseManuelValenca (T)  
PaulaCristinaValenca? (TP) 4a das 11:00 às 13:00, 2a das 16:00 às 18:00

Horário das Aulas

  • Teórica: 2a das 14:00 às 16:00 (DI A2)
  • Teórico-prática: 5a das 16:00 às 18:00 (DI 0.03)

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critério de Avaliação

  • Nota final
    • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 30%
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um conjunto de guiões e de pequenos trabalhos.

Opcionalmente, os alunos poderão ainda realizar um projecto individual (ver lista de propostas em ElementosCriptografiaProjs0506). Esse projecto consistirá numa monografia (eventualmente com uma componente de programação) sobre um tema relacionado com a disciplina, e combinado em conjunto com o docente. O peso deste projecto na avaliação da disciplina dependerá da dificuldade e abrangência do tema escolhido.

Notas

Objectivos

Este curso introduz as técnicas criptográficas base relevantes à segurança dos sistemas de informação. Coloca ênfase especial na fundamentação matemática dessas técnicas e deixa para uma disciplina subsequente a sua aplicação em sistemas de informação concretos.

Programa Resumido

(versão PDF)

  • Introdução e Terminologia
    • Complexidade Computacional
    • Conhecimento, Incerteza e Entropia
    • Confiança, Acreditação, Autoridades e Verificação

  • Princípios Nucleares
    • Confiança
    • Computações
    • Conhecimento Zero
    • Unidirecionalidade
    • Aleatoriedade
    • "Hashing"

  • Teoria dos Números
    • Divisibilidade
    • Resultados Fundamentais da Divisibilidade
    • Raízes Quadradas
    • Algoritmos Básicos
    • Corpos Finitos
    • Corpos de Galois
    • Geração de sequências pseudo-aleatórias
    • Factorização de Inteiros
    • Logaritmo Discreto
    • Curvas Elípticas
    • Emparelhamentos ("Pairings")

  • Funções Booleanas
    • Funções de argumento Bn
    • Técnicas espectrais
    • Composição de funções booleanas
    • Diferenças, Linearidade e sua Criptoanálise
    • Funções de argumento GF(2n)
    • Criptoanálise Algébrica

  • Education.Criptografia Simétrica
    • Estrutura das cifras simétricas
    • Não-linearidade, difusão e mistura
    • Modos de operação

Aulas Práticas

Sessões laboratoriais onde se utiliza o sistema PARI-GP na resolução de pequenos problemas sobre a matéria da disciplina.

Bibliografia

Edições Anteriores

ElementosCriptografiaNews0405 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
27 Jul Já sairam as notas da época de recurso.

15 Jul Já sairam as notas da época normal.

1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem a entrega por email.

31 Mar Foi publicado o enunciado do segundo trabalho prático.

15 Mar Na próxima Sexta, 18 de Março, decorrerá no DI-A1 às 14:00 uma palestra sobre os primórdios da criptografia em Portugal. Apareçam!

14 Mar Já existem ideias para projectos alternativos. Vejam aqui.

9 Mar Foi publicado o enunciado do primeiro trabalho prático.

16 Fev A apresentação desta opção será no dia 21 Fev às 15h10 no DI-A2.

ElementosCriptografiaNews0506 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
Projectos - a data limite para a entrega dos projectos (protocolo Multicert/UM) é 30 de Setembro de 2006.

-- JoseBacelarAlmeida - 11 Set 2006

Classificações - As classificações já foram actualizadas com as notas da época de recurso. Encontram-se aqui.

-- JoseBacelarAlmeida - 29 Jul 2006

Classificações da época normal - Já estão disponíveis as classificações da época normal (1ª e 2ª chamadas). Encontram-se aqui.

-- JoseBacelarAlmeida - 17 Jul 2006

Notas da componente prática - Já está disponível a avaliação da componente prática da disciplina (aqui).

-- JoseBacelarAlmeida - 5 Jul 2006

Apontamentos (versão final) - Já está disponível a versão final dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 2 Jun 2006

Data de entrega do 2º trabalho - A data de entrega do 2º trabalho foi alterada para 8/6/2006.

-- JoseBacelarAlmeida - 25 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 23 May 2006

Projectos - já estão disponíveis as propostas de projectos no âmbito do protocolo Multicert/UM.

-- JoseBacelarAlmeida - 18 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 May 2006

Aula sobre prova de segurança do ElGamal - A aula de 11/05/2006 será dada pelo prof. Manuel Barbosa, sobre a prova de segurança da cifra ElGamal.

-- JoseBacelarAlmeida - 11 May 2006

Palestra - O coordenador Socrates/Erasmus, aproveitando a visita da Professora Tatjana Weltzer (Univ. Maribor, Eslovénia), sugeriu que a aula prática de 04/05/2006 fosse dedicada à assistencia da palestra Data Reusability. Por esse motivo a aula terá lugar no anfiteatro DI-A2.

-- JoseBacelarAlmeida - 03 May 2006

Apontamentos - Foram disponibilizados (secção da bibliografia) os apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 Apr 2006

JOIN'06 - Dada a realização das JOIN, não haverá aula TP no dia 06/04/2006 (ou mais precisamente, a aula será nas próprias jornadas).

-- JoseBacelarAlmeida - 04 Apr 2006

ElementosCriptografiaNews0607 19 Sep 2008 - 13:36 - r9 JoseBacelarAlmeida
Notas - saíram as notas da 1ª chamada

-- PaulaCristinaValenca? - 27 Jul 2007

JOIN'07 - devido a estar a decorrer as join'07, não haverá aula dia 10/05.

-- PaulaCristinaValenca? - 09 May 2007

Alteração da data de entrega de trabalho - a data limite para entrega do primeiro trabalho prático foi alterada para 7 de Maio 2007.

-- PaulaCristinaValenca? - 24 Apr 2007

Aula cancelada - a aula de 19/04 não irá decorrer.

-- PaulaCristinaValenca? - 18 Apr 2007

Trabalho Prático - o enunciado do primeiro trabalho prático está disponível aqui

-- PaulaCristinaValenca? - 15 Apr 2007

Mudança de sala - as aulas TP decorrerão a partir desta semana na sala 003

-- PaulaCristinaValenca? - 13 Mar 2007

Apontamentos - actualização.

-- PaulaCristinaValenca? - 12 Mar 2007

Apontamentos - a primeira parte dos apontamentos teóricos da disciplina está disponível na secção da bibliografia.

-- PaulaCristinaValenca? - 05 Mar 2007

ElementosCriptografiaNotas0506 26 Feb 2007 - 00:08 - r3 JoseBacelarAlmeida

Avaliação de Elementos/Fundamentos de Education.Criptografia


Classificações

LESI

Num. Nome Prática 1ª Cham. 2ª Cham. Exame Recurso FINAL
35272 Ana Luisa Parreira Nunes 17   10.2 10.2   12
35290 Carlos Miguel Martins da Silva 14.5   4.5 4.5   Rep
38180 João Carlos Azevedo Salgado Guimarães 17 15.6   15.6   16
38175 João Paulo da Silva Gomes 10       10.7 11
35326 João Pedro Soares Henriques 14.5         Rep
35333 José Filipe Queijo Fernandes           Rep
38178 Marco Alexandre Teixeira Palos 14         Rep
33194 Miguel Alexandre Lopes Oliveira da Costa Ferreira 16   8.8 8.8   11
38221 Miguel Ângelo Vivas Gomes Alves 15   12.1 12.1   13
38116 Pedro José Martins Faria 14         Rep
39829 Ricardo Filipe Liquito Balinha 17       10.1 12
38141 Rúben Filipe Cardoso da Fonseca 15   8.6 8.6   11

LMCC

Num. Nome Prática 1ª Cham. 2ª Cham. Exame Recurso FINAL
33684 António Augusto Dias de Castro Ribeiro da Silva 16 10.4   10.4   12
38582 Elisabete Fonseca Ferreira 15       13.1 14
35821 Gonçalo Martins Gomes           Rep
39442 Hugo Daniel dos Santos Macedo 17   11.6 11.6   13
33705 João Manuel Lourenço Caldeira Pinto 10         Rep
38589 Luis Miguel Vieira da Silva Braga 14   6.9 6.9 8.8 10
18706 Paula Cristina Neves Ferreira           Rep


Avaliação Prática

Num. Nome Trab.1 Trab.2 FINAL
         
38589 Luis Miguel V. S. Braga B- B 14
38141 Ruben Filipe Cardoso Fonseca MB- B 15
38221 Miguel Ângelo V. Alves MB- B 15
         
33684 António Augusto Dias Castro Silva MB B 16
33194 Miguel Alexandre Ferreira MB B 16
         
38178 Marco Alexandre Teixeira Palos B S+ 14
38116 Pedro José Martins Faria B S+ 14
         
35326 João Pedro Soares Henriques B+ S+ 14.5
35290 Carlos Miguel Martins Silva B+ S+ 14.5
         
35272 Ana Luisa P. Nunes MB- MB- 17
39829 Ricardo Filipe Balinha MB- MB- 17
         
38175 João Paulo da Silva Gomes S+   10
         
35493 João Pedro da Costa A. Barbosa B   11
         
38582 Elisabete Ferreira MB- B- 15
39846 Helder Sérgio Alves Teixeira MB- B- 15
         
39442 Hugo Daniel dos Santos Macedo MB B+ 17
         
38180 João Carlos Azevedo Guimarães B+ MB 17
         
33705 João C. Pinto S+   10
         

Data de Entrega dos Desafios do Trab. 1

Num. des.1 des.2 des.3 des.4 des.5
38589 17/3 20/3 22/3 22/3  
38141,38221 17/3 20/3 22/3 22/3 23/3
35272,39829 19/3 20/3 24/3 24/3 24/3
39442 20/3 20/3 20/3 20/3 20/3
33194 22/3 22/3 22/3 22/3 22/3
35290,35326     22/3    
ElementosCriptografiaNotas0607 19 Sep 2008 - 13:35 - r3 JoseBacelarAlmeida

Avaliação de Elementos de Criptografia


Classificações

Num. Nome Trab.1 Trab.2 FINAL Exame 1a
           
33629 Carla Marisa Dias da Costa 14     4
41032 Elísio Maciel Simão 10      
34172 Filipa Borges        
33643 Isabel Maria Afonso Fernandes 10      
41031 Rui Carlos A. Gonçalves 18     7.5
28126 Sandra Liliana Meira de Oliveira 16     12
35862 Sofia Helena Roriz Moreira 16     5
20838 Vitor Manuel Sá Pereira 19     10

-- PaulaCristinaValenca? - 27 Jul 2007

ElementosCriptografiaProjs0506 26 Feb 2007 - 00:10 - r9 JoseBacelarAlmeida

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:

ElementosCriptografiaTP0405 26 Feb 2007 - 00:20 - r5 JoseBacelarAlmeida

Elementos de Education.Criptografia

Trabalho Prático 1 (9 Mar)

Efectue a criptoanálise destes quatro criptogramas que foram obtidos recorrendo a cifras de substituição, Affine e Vigenere. Deve que determinar que cifra foi utilizada em cada um dos casos. Apresente todo o trabalho que desenvolver, incluindo o código, e explique como chegou a uma solução. Não é suficiente apresentar o texto limpo.

Os textos limpos são em Português, e não contêm acentuação de nenhum tipo, espaços ou pontuação. Os valores típicos da análise de frequência aplicáveis em Inglês não são aplicáveis neste caso: terão de ser calculados propositadamente para este efeito. Quanto melhor for a qualidade dos valores que obtiver, maiores serão as hipóteses de que os seus palpites estejam correctos.

JFHLTZZJHBVOHSBTJSOHSHBIHEBWHGJZLBQTQJZSJOJJEVQJOMTWJWFBTOJLBWKBHZJXOTFVAKHOBZJB
WMOBWKJOBLFOTZBZWHZBFKHOSOHGHFJQJZSHOQBZJZKOBZWJKVOJTZHVSOHUABLJZFATLJKTFHZFHLHJ
ZBFJDVBJMBFKJSHOKVXJAJSOHSHZKJZHUOBOTZFHZBXBZKJHQBFOTZBZWJJXOTFVAKVOJZBOJJSOBZBW
KJQJJHFHWZBAIHQBLTWTZKOHZQJVWTJHBVOHSBTJJFJKHOYBQBLJOFHBZVXBOBDVBHZJXOTFVAKHOBZB
SOHQVKHOBZQBJWTLJTZZBEJLFHLSBWZJQHZFJZHZHMOJLFHLFJKJZKOHMBZWJKVOJTZSOHUABLJZFATL
JKTFHZFOTZBQBLBOFJQHHVQHBWFJZJWTLJTZZBXVWQHHQHFVLBWKHJDVBJJXBWFTJAVZJKBGBJFBZZHH
HUEBFKTGHBBWFHWKOJOJLBAIHOZHAVFJHSJOJOBZSHWQBOJZZTKVJFHBZQBFOTZBWHZBFKHOJXOTFHAJ
ZVXBOTWQHKOBZHSFHBZZBXVOHJXOTFHAJMVWQHZLVKVHZBTWZKOVLBWKHZQBFOTZB

RAJRXRIPIQBUFLDSDPHOGQIVVLXLUGFLHAEYVWYFMAUDMVVGPIVASMDLKYQVBREVMXNWUEFSOPOQWVAS
SUBGSMFHDHDAKZISRHWHVINLHPXFOQIBWXJRVQIRVAWAVHHKOQQXHRNHWIBTHCWMYWJRRXICIVXXRALD
LHRXUEIQASIUMYBLHSSEFPUQIMULDDJGFMLAHQGWOFNXNGEPMTGWVAUIDTOMIFARHHAKFAREVESWXGII
EFLDLGQMYIGSDWLNKWOGIDTMHUDSGEVIRRODDDWYQZVUDSWIUMSZMQOVHHLKMIVSHMVITBAGELHDLKRI
QEFIVAOQIGEGISZKFMUVDVDLOTVLDDHHLGFXHSVSDAKADRLYMGIYNAVIPESIXGQUDHEPITUIDSVIVAUR
AQOWVLJAAIOMLPLBGELHLLWEWGIIRDHGRZXRZDPRVWILRKKAGESIXNYXEDWDTKTIGAVZLBOZIVPRWVIS
CZHSWEULKPTDRDGRMYFMPLLQLBGPWHSRYFWTFBUAQKLUKABRSRGRTKPBLVRHHRAVHHSDHPQZRVREQXDV
ZBYXERWMWXAIOIVXDAVBLHRDSYQXNBHRDTRAYVJLLLHDLKQMDSVMVBOEIDLJYPIYFMVSRIVLKFBHJXPJ
ISRVWOVIVMPHAWIIMFIXAWIUWYUWGCZRVHHRZGQIFAVESQGQMOIVFRIINBDLLRDXKFBDNDGRUKPWXHRN
HIYRZRUYMGITNYXAOMGIJRLHTHWWMSHVKAGIDKAFIFARRRRAYODMHRWWJBXUOFIVAURUTUHZDZOBAPEQ
SUMYNTXNRWGIWHMOALRVBOGCLCDSVMWHMLXDQGMGOCVOVWHFANQV

XTHSVXOHTLCZSYZLXBAFLCZTHZCFAZXAHMCXNXBGFVAXYZTHZCXZSMHCSXYZFSXBVFNCHAHTFYCXYZXM
HCCFCZVTFHVHOUCXSYXRUHFSMHTVHCHXBZIFUHTTXACZAPFZXAHRUHXBUMXYFSMCXFMHCCFCZVTFAHEH
LCHVHCEXCXAHTFYCXYZXSHVMHHSYFSMCFAHCHPBHJXFHGFTHSXOHTXVEZMZTXVAFVXMHSMXAFVAHFSIH
AHTXCYFAHAFZVTZBHRUXMCFSXYXLZMXBHVLXSGFBXHVMXFLCHVHSMHVMCZSMXHYZSYFXYMUXZVHXSMZO
FVYGHPHVAHHVMXAFHAHOFEHCSFAXHUCFLXXTHCZYXHXVZXAHEHTVHTLCHVHCLCHVHCEXAFVFVLCZSYZL
ZFVAHTFYCXMZYFVSFYFTNXMHXFMHCCFCZVTFFVOFEHCSFVAHEHTAZVMZSOUZCFVAZPHCHSMHVMZLFVAH
MHCCFCZVTFFVOCULFVMHCCFCZVMXVZVFBXAFVAXVUXYFTUSZAXAHYFTXRUHBHVYFTXTLBXNXVHAHXLFZ
FLXCXRUHXCHVLFVMXSXFVHQXZSAZVYCZTZSXAXFYXVMZOFAHEHVHCAZCZOZAFXFVRUHYFTHMHTFXMXRU
HXFVFUMCFVAHEHCZXTFVPXYZBZMXCUTXVXZAXAFOCULFHXCHZSMHOCXYXFZVVFLHCTZMHXOCULFVRUHS
FLXVVXAFCHYFCCHCXTXEZFBHSYZXYFSEHCMHCHTVHHTLXCMZAFVLFBZMZYFV 

LDOMXRGXRGAJREYLMTRTIIDNRRYSWVUAJRQMHXAUHDSUNUXXSWDYQLHAYLNAJYSDHMEWHWXRXEGXFELA
NFUORFCATRBWLXEIDGITOELPOGRCSRQOSHRIJWSESYNRVDSUKUVVSMJHOIDEYHYSJDQSLMAVAWWWYEMD
WHDCTVPCWXGAIDPYOUDVLBHLANRFOSSURVFSMPJOJVWZHFOVVHEGIAHXSMVNOTKSKROSFPCWVYMGUSSV
GEJPCWRLAMHXEPMOZVHSQUOJLURLZITDEYHJOIYSDHMSVQOSWYNYDFECUODDGRROTIDGIXGTZTIIQISL
SZIPYNKRAMOZOCKOWHRIJWSYPCNHXSVLNOZQHMWOLRGCSVGELVZMYLOJRBHHMEGHFKXHTRRGPLPRFVEY
HMERQREDFEIRGUXYSVGSMAURRPOQHCOFVEYHAOJWOVLUMFVRIYYRKUOHXTIURGIPKUVOIKDLEJJCWWUM
FVRIOYRVDGWLGPFURMDHTVQOYONIDDGIPUNRDDEUYCVWWEJIRVESPRUPIHGIQNAURQSPIJFUBEOCSKDS
IVWRZWCVDJRFSCWLNOUHHVDXUTRSWGCZERGSTOEVXUSVNAILOIUUMVVASGYVVUCWOCVIRGTRLTLJIIVY
SKUOHXTIURGRROTIDGPLHGLDGIHMPRQHSVICFPCESLEJHBGDFIKHFEUCAGRFXXAUVVORRYSKUORJYIIR
STUUTZFOQHHTVLBIACSKHBXHBAGDWWHMCFPPIPGEERGMQZLLHBGLUNRFSRDCNKHFRDWIFQOPGIQLHCRR
MSFHQSPGUZWCQDCSVVQVLNOIHGXUUDLCWHRMCFQHEPMEGHZSVXEURGHHOMRPOSRMEJFFMWIRVVDSUNUX
XSWHMCFQHIPJOIDBIRMPLEZMFUDFVBSHMTIDBKHCRFHWWWIEKDCKUUVVTIIDNEURWSVYSTUWXRLEJVOS
RMMRLCVHMEDEOMAUDFUSWGUCLOHYUUDVXATDCSDDGFDMTRYSVDUTVQQERKUVRGWXWEJVWZRMMZQWWWLO
JGOGXFTLUOHDIAFVSWFLIKRFIVUODHFGDXOURZMYLORVTILLAJQOGLINRLGILHTVUBEFCOEDWWHYSKDH
YGIDZWC

Trabalho Prático 2 (29 Mar)

Recupere o texto limpo correspondente a cada um dos seguintes criptogramas obtidos com a cifra RSA. Os textos limpos são em Português, e não contêm acentuação de nenhum tipo, espaços ou pontuação. Note que para módulos pequenos o problema da factorização do módulo é relativamente fácil de resolver. O texto limpo foi dividido em blocos de i letras: cada bloco Li ... L1 L0 é codificado no inteiro Li*(26^i) + ... + L1*26 + L0. No último bloco é sempre inserido padding, correspondendo cada letra inserida ao tamanho do padding. Escreva e use os seus próprios programas para fazer a criptoanálise. Submeta listagens comentadas das partes relevantes do código que produzir, o texto limpo que recuperou e uma explicação de como procedeu para resolver o problema.

  • n = 50551003, b = 43895939, i = 5

48719265 21880419 23965733 14001622 3070522  47443255 48309887 33673752 35549706 49914515 
43921685 41763987 40617457 28547288 24741601 47660212 5408554  20291721 1586284  26316809 
38752125 10669665 5702740  24003390 11736573 3357958  8385983  38988184 6154291  42157963 
43114702 47389753 25802737 29586057 22820212 3690070  50243706 6246549  43436024 163876 
50047952 18202724 22089148 43564874 48311699 31508947 33093643 14605746 43867811 34936684

  • n = 496512267794407, b = 310797528069941, i = 10

494950396530045 360281654495711 368975154129887 30561943863961  334948285104881
18316458143035  96000472684982  133666404416183 409533889130276 350688627329095
213732952172345 60429274433144  63602792292608  268349095750036 103815596223158
464367601174306 170369569453302 317460468215202 378234199027787

  • n = 35284289135845204898669273297, b = 15726997560115741338660832027, i = 2

16594592540948632866410856152 4628705454357396018364171298  26515904109882395927917599254 
16323700905536914131565125686 19129858834350460740923828759 25414556268366263391700381021 
22979061971598930334210341534 11810960361886427149732895484 1085800860141793848945882117 
17654636174389044433202415878 11272843556062964972731697302 18821622262586937231039250826 
25435603738790311227309443963 4827012698550488751951768313  15666427695314052817191701099 
15666427695314052817191701099 11810960361886427149732895484 9866380858673686609452780090 
31641696783154640262798844648 31491823762568666759921435169 17654636174389044433202415878 
35126199541878816183852478437 20056298078993283887887339548 14551027357478031831613617509 
12633638776833338220017642818 30663092625857909816595084761 30224578244323036924848705339 
3128872702613793094100228835  1386820748125155472606902357  13420052590603012550180596268 
8518952267006363930378494507  9529857145202206292577951750  23781581582663358728219167151 
24607738631382740752599647590 4377141701176394900719737566  17095837257824688500219792240 
3128872702613793094100228835  15236705311097736922229162330 1519683421940540807847914743 
4546144604184083487868364999  17095837257824688500219792240 25160415929591742360745266342 
15666427695314052817191701099 14551027357478031831613617509 12633638776833338220017642818 
28027160953063196348757287545 31641696783154640262798844648 32778492478772700203318631446 
4377141701176394900719737566  17095837257824688500219792240 1085800860141793848945882117 
17095837257824688500219792240 2079393894100576310021781669  20590916608497244504872413657 
6809426493653542163806993157  16323700905536914131565125686 32185215707174199438263906801 
1972135201431540827995553840  25414556268366263391700381021 23781581582663358728219167151 
16594592540948632866410856152 17095837257824688500219792240 30970683011186084958082199749

Gere uma chave RSA que permita cifrar blocos de 20 letras, como por exemplo a seguinte:

  • n = 1174131352704207214349241420991791462495108045279851173277
  • a = 935796131047316636883975835187745394794578628568303251791
  • b = 401138724311605979942538127567746219521486438387303984111

Já agora, como extra poderá tentar factorizar este módulo.

Trabalho Prático 3 (5 Maio)

Seja E a curva elíptica y^2 = x^3 + x + 13 definida sobre Z149.

  • Determine o número de pontos em E.
  • Determine se E é ou não um grupo cíclico. Em caso afirmativo encontre um gerador desse grupo. Senão, encontre um elemento com ordem máxima.
  • Decifre o seguinte criptograma determinado com a cifra de Menezes-Vanstone descrito na secção 5.2.2 do livro Cryptography: Theory and Practice. O expoente secreto é a = 100. Cada elemento do texto em claro representa dois caracteres, codificados como A<->1, B<->2, ..., Z<->26 (neste caso, 0 não é permitido no texto em claro).

((10,24),38,68) ((19,22),45,111) ((6,91),22,2) ((69,33),83,54) ((146,79),52,145) ((107,54),49,36)
ElementosCriptografiaTP0506 26 Feb 2007 - 00:20 - r24 JoseBacelarAlmeida

Sessões laboratoriais de EC

5ª feira, 14:00-16:00, DI 1.04


23/02/2006 - Apresentação

Apresentação e inscrição nos turnos.


02/03/2006 - Introdução ao ao PARI/GP

PARI-GP

  • Web page
  • Instalação:
    1. Download do programa (da página web)
    2. Na dictoria source: ./Configure --prefix=$HOME/pari
    3. make; make install
    4. export PATH=$HOME/pari/bin:$PATH
    5. gp
  • Reference Card

Problemas simples:

Funções simples em aritmética modular:

  • Defina uma função que determine o inverso multiplicativo de x\in Zn (note que pode não existir).
  • Defina uma função que determine o grupo multiplicativo Zn*.
  • Modifique a função anterior para que, a cada elemento de x\in Zn*, associe o sub-grupo cíclico gerado por x.


09/03/2006 - Aritmética Modular e RSA

As seguintes funções do PARI/GP vão ser uteis nesta sessão: eulerphi, gcd, bezout, chinese, prime, isprime, ispseudoprime, random. Recomenda-se portanto uma leitura rápida da documentação disponibilizada pelo GP (e.g. ?eulerphi, ou para mais detalhe ??eulerphi).

  • Utilize a função bezout para calcular o inverso multiplicativo de x\in Zn.
  • O teorema chinês dos restos permite resolver um sistema de equações {x = ai [ni]} quando os valores ni são primos entre si dois a dois. Como poderá explorar esse resultado (e função respectiva do GP) para resolver o seguinte sistema de equações?
    • 13 x = 4 [99]
    • 15 x = 56 [101]
  • Codifique uma função que gere aleatóriamente um número primo (o número de dígitos é passado como argumento).
  • Pretende-se codificar o algoritmo RSA. Para tal deverá realizar três funções:
    • rsa_setup, que recebe como argumento o número de dígitos da chave e retorna como resultado o par de chaves.
    • rsa_enc, que recebe como argumento a chave pública e o texto limpo, e retorna o criptograma.
    • rsa_dec, que recebe como argumento a chave privada e o criptograma, e retorna o texto limpo.


16/03/2006 - Ataques ao RSA

  • Correcção do RSA (i.e. x=rsa_dec(rsa_enc(x,pubKey),privKey))
  • Alguns ataques ao RSA:
    • Factorização do módulo
    • Codebook
    • Módulo comum
    • Expoente baixo


Trabalho 1: Cifra RSA

Deverá desenvolver uma script PARI/GP que implemente o algoritmo RSA assim como os ataques estudados a essa cifra. Deve procurar tornar o seu código o mais eficiente possível e não esqueça de incluir comentários por forma a tornar inteligível a sua leitura. Inclua também exemplos que ilustrem as funcionalidades implementadas.

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 30/3/2006.

Desafios:

Tente recuperar o texto limpo correspondente a cada um dos seguintes criptogramas obtidos com a cifra RSA. Os textos limpos são em Português. Note que para módulos pequenos o problema da factorização do módulo é relativamente fácil de resolver. O texto limpo foi dividido em blocos de i letras e codificado sob uma base b: cada bloco Li ... L1 L0 é codificado no inteiro Li*(b^i) + ... + L1*b + L0. Para valores de base b adoptam-se alternativamente o 26 (só se codificam as letras, omitindo-se do texto limpo espaços, dígitos e pontuação) ou 255 (código ascii). No último bloco é sempre inserido padding, correspondendo cada letra inserida ao tamanho do padding. Escreva e use os seus próprios programas para fazer a criptoanálise. Submeta as scripts de código que produzir, o texto limpo que recuperou e uma explicação de como procedeu para resolver o problema.

Importante: note que certos números são apresentados em várias linhas.

  • Problema 1
    • i = 9; b = 255
    • e = 17
    • n = 1249041700673382695459846605609514730554186626237
    • C = 321180546341126455980279730178761953097183911234, 716950862594240028452266734363072497454521223524, 574948179391147816051505896812694387194959833965, 111532735643033423942855061239383848643971241832
  • Problema 2 - Uma mesma mensagem M foi cifrada para três destinatários distintos resultando em C1, C2 e C3. Os parâmetros utilizados foram:
    • i = 29; b = 26
    • e1 = e2 = e3 = 3
    • n1 = 7339811139556615823122116433204023904398461533454681143699547686798 95395710761486433977041087334202131031022237869598972234480380246 70748019733228699398088635793210311345924939173837819595011974404 1458944308322479035696269545435389
    • n2 = 10551118842387729281629728443352288086734202318038326556978629363 87643461149599232735810295170139939550508599355640349872906993902 86287424947045202026909343965313253370799066569052047150238445288 9783863513694420141935182919987207969
    • n3 = 66787488008015564075615898071345013083744411800144184623626939980 95523632027297575911308308620562384855840269609220415026029449041 06785572985937898110504326376313806658941820172438404052482076621 471581424529754975069348027227843883
    • C1 = C2 = C3 = 1397942583169351242004858195909208100459634258305080963095015127 6016199568460358374777794775331783767638927484305527216576
  • Problema 3
    • i = 6; b = 26
    • e = 3
    • n = 6391470411061826399294574162150528765326145415479599749142416894309248161455 17449512309787590608539069992632564642773771493135705574804621403767304660931 39279042063802231438893958813649137968723832554178514469387083227792295356047 773281856489868696857456780247422046270127054298844870602475384663637199209513
    • C = 350915208109496145856, 27661335465828884684696, 31802586529207976000000, 494171409093635852161856, 407524745047362736519656
  • Problema 4
    • i = 6; b = 26
    • e = 7
    • n = 6391470411061826399294574162150528765326145415479599749142416894309248161455 17449512309787590608539069992632564642773771493135705574804621403767304660931 39279042063802231438893958813649137968723832554178514469387083227792295356047 773281856489868696857456780247422046270127054298844870602475384663637199209513
    • C = 32043924526870920534079392028726370777600000000000000, 19306983940121876610266501070351375064373302782143184896, 868570571278402253220237877279110105219431120896, 74155878556235370096776829384639812609423519551832064
  • Problema 5
    • i = 2; b = 255
    • e = 65537
    • n = 1726120091695287336748214486649445090936069756304670744586344362 7091875871740773679233823099712178179358393710196331449844554301 4908468113510758146965296371923698514351552479129463911417817582 4625618889392815511799802366562518515699589132221215938849844735 5096970990510996522873761394696658254094897711248116842246989910 7296684641515320426052691201842320489808621103968851915391479179 3882292176416407903400284274126479429182876522757014113844850087 4109634833892704185454278081338756835822183447573030032642382069 9701757863403235839486294252564058181653989667152484099706921850 32883713278510782005243891336381732676319
    • C[1] = 24492930461896806666688173882443022616341159620904080632491569436 7295145339095154833512450776182636128906766811185274784571366871 5685446002101094904530116176935207126568628230394824693756357468 9261047349588164141823782249091399369881959924516838772369936845 6178403800744692450942825063850358385773429812281228364234067068 2966160669194758123590741440347700009229641826750858540071813978 4579339767379068752950816183878537919228732555913818070867153795 3523665490905907614866228501723203815974064273868106451196543778 3726120453598788613098120872934914753911015457148044860816498106 559653875138348551486855579718238577296
    • C[2] = 1673366376448871596834627029054078736527949106585297997884439572 3773007701671233121396405519318355002837431067518086946826468284 3164992255899700683067117772718526650944025177933368337844768808 0834168210617200696150674134650143117386345449740059114962289307 4654123612602714960248641487702147193379776782836852929079119885 5212422362455070495259827227866489717433246635381324670887164118 6174496983301260624395049965468369272669276130211823362733002054 2788531705808012398283863718970174343311709203322443500718670680 2267624433909804125958755325226693899085860632774554753505434457 20507641793760440454760670110940875121791
    • C[3] = 1009557433344333314360404743038565945317821467070447532549243230 3878307928053154605638345591744954830780686496595727400596980725 4321478131207133963656485184082856670301082572342552334483706159 3276231401353103303555517747531454878970806884252859219815552914 3758622279549415242939815639605656673456329775443214294573443307 8601281807812205702602324008031056043549943192686051508230988156 5754602890773743408303118668137610226439806239927350648656953791 7202280729731869297259949666668440955811850114951235592250187630 8392588068633391439720694009281517401379251236662907013551667695 82935586604497186521569909715340689722407
    • C[4] = 2595944282196925660346361344016834221714875708717882928563301267 0806390872492698924869258912202307062233476648921193467957186861 7622115206265627572866783529243022624764399217250406274747538630 1845744177858816858088801989504849945704230101564449954861207222 4302056289796661364171462503977839320178723251689596138484149268 7838331843894538827787015113544491039314664949468604795293046259 5281731836325876587905207436645681310571047659855208952688092662 3757899176343148108453497191678793051769451465654898953776332957 3789789306423112835137649021905465440915667649375142340394028855 8726225138165891059222334474716695244217


23/03/2006 - Técnicas baseadas no Log. Discreto

Pretende-se implementar algumas técnicas baseadas no problema do Logaritmo Discreto, nomeadamente o acordo de chaves Diffie-Hellman e a cifra El Gamal.

  • Codifique procedimentos que:
    • gere primos de Sophie Germain (i.e. q tal que 2*q+1 também é primo).
    • um gerador do grupo multiplicativo Zp* (em que p=2*q+1). Utilize o facto que g\in Zp* é um gerador se g^2!=1[p] e g^q!=1[p].
    • um gerador de um sub-grupo de Zp* de ordem q (onde p=2*q+1).
  • Implemente as seguintes técnicas (incluindo a geração dos parâmetros):
    • Acordo de chaves Diffie-Hellman,
    • Cifra ElGamal


23/03/2006 - (16:00-18:00 - substituição da aula de 30/03/2006)

Aula de acompanhamento ao primeiro trabalho prático.


06/04/2006 - (JOIN06)

JOIN'06


20/04/2006 - Corpos Finitos

Pretende-se implementar algumas funções de manipulação de Corpos Finitos em Pari/GP. Para tal far-se-á uso da habilidade desse sistema possibilitar a manipulação directa de polinómios.

  • Utilize o PARI/GP para:
    • Determinar se x^5-x é divisível por x^2+1 em GF(3)
    • Calcular a factorização de x^9-x
    1. OBS: Note que funções bem conhecidas como gcd, factor admitem polinómios como argumentos. Existem também funções específicas para manipulação de polinómios como polisirreducible, factormod, polrootsmod, etc. -- consulte o help (?7).
  • Defina uma função que calcule todos os polinómios primitivos do corpo finito GF(m) (com m=p^n e p primo). Determine os polinómios promitivos de GF(9) e GF(81). [RELEMBRE: um polinómio f(X) diz-se primitivo em GF(p^n) se tiver grau n e se o menor inteiro k para o qual f(X) divide x^k-1 for p^n-1.]
  • Defina as operações do corpo finito com m=p^n elementos (p primo) visto como GF(p)[X]/<f(X)> onde f(X) é um polinómio primitivo de grau n com coeficientes em GF(p).

Informação adicional relativa a corpos finitos: http://eom.springer.de/g/g043140.htm, http://eom.springer.de/G/g130010.htm.


27/04/2006 - ElGamal sobre GF(2^n)

  • Implemente a cifra ElGamal sobre o corpo finito GF(2^n). (obs.: para n suficientemente grande, as funções realizadas na aula anterior para encontrar o polinómio primitivo não irá funcionar. Para tal deve consultar a tabela de polinómios primitivos disponibilizados em P1363-AnexoA).

Algumas funções úteis para converter inteiros em polinómios binários...

\\assume-se que o polinómio "p" está definido sobre a variável "x"!!!
poleval(y,p) =
{
  local(x=y);
  return (eval(p));
}

pol2int(p) = poleval(2,lift(lift(p)))

int2pol(v) = 
{
  local(dr,i,res,p);

  dr=divrem(v,2)~;
  res = 0;
  p = 0;
  dr = [v,0];
  until(dr[1] == 0, dr=divrem(dr[1],2)~; res += Mod(dr[2],2)*x^p; p++);

  return (res);
}


Trabalho 2: Cifra ElGamal e Acordo de Chaves Diffie Hellman

Deverá desenvolver uma script PARI/GP que implemente o acordo de chaves Diffie Hellman e a cifra ElGamal nos seguintes grupos:

  1. Sub-grupo de ordem elevada de Zp.
  2. No corpo finíto GF(2^n).
  3. Numa curva elíptica sobre GF(p).

Deve procurar tornar o seu código o mais eficiente possível e não esqueça de incluir comentários por forma a tornar inteligível a sua leitura. Inclua também exemplos que ilustrem as funcionalidades implementadas.

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 8/6/2006 (actualizado em 25/5/2006).


04/05/2006 - Palestra de Tatjana Weltzer

Palestra Data Reusability (DI-A2).


11/05/2006 - A segurança semântica de primitivas criptográficas

Aula sobre definição de segurança das primitivas criptográficas. Demonstração da segurança semântica do El Gamal (pelo prof. Manuel Barbosa).

18/05/2006 - Enterro da Gata

Tolerância de ponto: Enterro da Gata.


25/05/2006 - Curvas Elípticas sobre Corpos Finitos

Aula sobre os fundamentos de técnicas criptográficas baseadas em Curvas Elípticas. No sistema PARI-GP, faremos uso das funções dedicadas às curvas elípticas, em particular ellinit, ellisoncurve, elladd, ellpow.

  • Siga o tutorial disponível em http://www.certicom.com/index.php?action=ecc_tutorial,home sobre intuição geométrica das curvas elípticas.
  • Replique, em PARI-GP, os exemplos apresentados no tutorial de curvas elípticas sobre corpos finitos GF(p). Obs.: O Pari-GP não suporta apropriadamente curvas elípticas sobre corpos finitos binários GF(2^n). Por esse motivo vamos considerar unicamentre curvas elípticas sobre corpos da forma GF(p) (p primo).
  • Implemente o El Gamal e o DH em curvas elípticas sobre corpos GF(p). Para o efeito, pode utilizar os parâmetros gerados na página http://www.cryptomathic.com/labs/ellipticcurvedemo.html ou, ainda melhor, disponibilizados por um standard apropriado como http://www.secg.org/?action=secg,docs_secg. Obs.: A codificação directa do El Gamal em curvas elípticas pressupõe a codificação da mensagem em pontos da curva. Esta tarefa não é de todo imediata, motivo pelo qual não é normalmente utilizada essa técnica nessa forma em curvas elípticas (um segundo motivo prende-se com o facto de que essa técnica não ser segura face a ataques de criptograma escolhido). Uma forma de ultrapassar a operação de codificação da mensagem em pontos da curva é utilizar-se a versão Hashed El Gamal (c.f. aula de provas de segurança dada por prof. Manuel Barbosa).

Uma função de conversão que pode ser util:

hextodec(s)= \\s string
{local(v=Vecsmall(s), sett=Vec("0123456789abcdef"));
sum(i=0,#v-1,(setsearch(sett,Strchr(bitor(v[#v-i],32)))-1)*16^i)}

25/05/2006 - (16:00-18:00 - substituição da aula de 01/06/2006)

Aula de acompanhamento dos trabalhos práticos.

ElementosCriptografiaTP0607 19 Sep 2008 - 13:35 - r14 JoseBacelarAlmeida

Sessões laboratoriais de EC

5ª feira, 16:00-18:00, DI 1.04


01/03/2007 - Introdução ao PARI/GP

Esta sessão é acompanhada de um documento PDF que apresenta uma versão mais detalhada da introdução que se segue.

Instalação

O PARI/GP é um sistema de algebra computacional particularmente indicado para computações na área de Teoria de Números e, consequentemente, para a resolução de pequenos problemas na área de Criptografia. Além das bibliotecas, contém um interpretador, gp, e uma linguagem de script, gp-script.

A página oficial é http://pari.math.u-bordeaux.fr/.

Para instalar o programa da distribuição de source, faça:

  1. Download da última versão pari-X.X.X.tar.gz
  2. tar zxvf pari-X.X.X.tar.gz; cd pari-X.X.X
  3. ./Configure --prefix=$HOME/pari ( default: /usr/local/ )
  4. make all; make install; make test-all
  5. export PATH=$HOME/pari/bin:$PATH

Se usa o Emacs, a distribuição inclui modos de suporte para o PARI/GP. Consulte a documentação e o ficheiro pariemacs.txt para mais informação.

A distribuição inclui também documentação, em particular, um manual de utilizador, um tutorial e uma Reference Card. Esta última será de grande utilidade no futuro. Robert B. Ash escreveu também um tutorial do Pari/GP.

Tipos do PARI e comandos básicos

Para correr, chame num terminal o comando gp. Para terminar, escreva quit ou \q. Para ajuda numa função ou palavra ( e.g, foo ), ?foo ou ??foo. O último output pode ser chamado através de %, %n para a linha n. O carácter # acciona ou desacciona o temporizador. Finalmente, \r fich lê um ficheiro fich (mais tarde importaremos pequenos programas GP desta forma).

Há quinze tipos fundamentais no PARI, enumerados a seguir. Concentraremo-nos nos oito primeiros (no entanto, encontrará por certo referências aos outros tipos na literatura na área de Criptografia).

  1. t_INT - Inteiros
  2. t_REAL - Reais
  3. t_FRAC - Racionais
  4. t_INTMOD - Inteiros Modulares
  5. t_COMPLEX - Complexos
  6. t_POL - Polinómios
  7. t_MAT - Matrizes
  8. t_VEC/t_COL - Vectores
  9. t_LIST - Listas
  10. t_STR - Strings
  11. t_QUAD - Corpos Quadráticos
  12. t_PADIC - P-ádicos
  13. t_POLMOD - Polinómios mod P(X)
  14. t_SER - Séries de potências
  15. t_RFRAC - Funções Racionais


Siga o documento PDF que acompanha esta aula. As notas seguintes são apenas um resumo dos passos a seguir.

Exemplo: Primalidade e Factorização

  • Defina p como o menor primo maior que 2100, q como o primo seguinte e n = p*q.
  • Accione o timer e corra trial division (isto é, divida por todos os números) até 20000
  • Como explica o resultado? E por que razão continuar a tentar dividir por todos os números até à raiz quadrada de n não é uma boa estratégia?
  • Use o teste do Pequeno Teorema de Fermat para a = 2 e confirme o resultado com o comando isprime (registe o tempo que este último levou)
  • Factorize n usando o comando factor e compare o tempo que este levou com o tempo do isprime
  • Como curiosidade, corra a seguinte sequência de instruções,
            gp > { u = nextprime(sqrtint(n));
            i = 1;
            while(i < 100 && n%u, u = nextprime(u); i = i + 1);
            u
            }
            gp > u == q
            gp > q - p
            gp > #
        

Do Algoritmo de Euclides à Aritmética Modular

No que se segue, crie e edite um ficheiro com extensão .gp e importe no GP através do comando \r fich.

A função factorial pode ser definida da seguinte forma,

\\ exemplo simples da definicao de uma funcao em GP
myFact(n) =
{ local(fact);

  if( type(n) != "t_INT" || n < 0,
      return(-1));
  fact = 1;
  while( n > 0,
         fact = fact*n;
         n = n - 1;
  );
  fact
}

Com base neste exemplo,

  • escreva uma função que calcule o maior divisor comum ( gcd ) de dois inteiros não negativos através do algoritmo de Euclides e estime a complexidade do algoritmo;
  • extenda a sua função de forma a calcular u e v, tal que un + vm = gcd(n,m) segundo a versão extendida do algoritmo de Euclides;
  • compare o resultado da sua função com o da função bezout, para m = 2101+1 e n = 2237+25+1;
  • verifique que o inverso de m mod n é v mod n, ainda no exemplo acima;
  • tente calcular o inverso de 5 mod n usando os dois métodos e explique o resultado


08/03/2007 - Computações

Pretende-se nesta sessão sensibilizar os alunos para a complexidade de um algoritmo, através da discussão de certos exemplos de algoritmos simples mas fundamentais. Consulte o PDF auxiliar para a descrição dos algoritmos.

Seja (G, *) um grupo multiplicativo. Pretende-se calcular de uma forma eficiente gn para um elemento g de G e um inteiro n.

  1. Implemente o algoritmo de potenciação descrito no PDF auxiliar
  2. Conte o número de multiplicações no pior caso e em média.
  3. Diga a complexidade em tempo do algoritmo.

Na aula passada foi apresentado o teste de Fermat para teste da não primalidade de um número. O teste de Miller-Rabin não só elimina os casos de pseudo-primos do estilo dos números de Carmichael como requere menos tentativas feitas. É um algoritmo não determinístico que poderia ser tornado deterministico assumindo a hipótese generalizada de Riemann.

  1. Implemente o teste de Miller-Rabin, descrito no PDF auxiliar (consulte a função random)
  2. Explique a presença de c = 20 no algoritmo.
  3. Dê uma estimativa para o tempo médio do algoritmo e discuta a probabilidade de o teste falhar-

Utilize o teste de Miller-Rabin para gerar um número (provavelmente) primo aleatório com n bits

  1. Qual o pior caso?
  2. Sabendo que a variável aleatória X que toma o valor do número de tentativas necessárias para ter um primeiro sucesso segue a distribuição discreta geométrica e que o número de primos até N tende para N/(log N) à medida que N tende para infinito, dê uma estimativa para a complexidade média deste método.


15/03/2007 - Continuação da aula anterior

Primeiro, um pequeno aquecimento,

  1. Use a função bezout, para calcular o GCD (extendido) de m = 2101+1 e n = 2237+25+1; esta função calcula u e v, tal que un + vm = gcd(n,m).
  2. Calcule seguidamente o inverso de m mod n e verifique que é v mod n
  3. Tente calcular o inverso de 5 mod n usando os dois métodos e explique o resultado

Voltando para o tema da aula anterior, faça a segunda e terceira parte da aula: o teste de Miller-Rabin e uma função que gere um primo aleatório com n bits. Responda também às questões postas.


22/03/2007 - "Birthday attack", colisões e funções de Hash

  1. Calcule quantas pessoas são necessárias numa sala para que a probabilidade de uma delas partilhar o seu aniversário seja superior a 50%.
  2. Calcule quantas pessoas são necessárias para que a probabilidade que duas façam anos no mesmo dia seja superior a 50%.
  3. Seja H(x) uma função de hash que dada uma mensagem de tamanho arbitrário, devolve uma string de tamanho fixo 160 bits. Supondo que qualquer string de 160 bits tem igual probabilidade de ocorrência e usando a aproximação e^(-a/n) = (1 - a/n), calcule o número de tentativas necessárias num ataque à força bruta para encontrar uma colisão com probabilidade superior a 0.5. Como referência um ataque de pré-imagem à força bruta numa função de hash n-bit deverá requerer aproximadamente 2n tentativas.
  4. Construa uma função de hash da seguinte forma:
    1. Escolha p e q primos aleatórios de 512 bits e defina uma funcao f(x) = x2 mod pq
    2. Defina uma função que dada uma mensagem a parta em blocos de k bits.
    3. Defina uma função que cicle sobre os blocos Sk+1 = (Sk + bk)2 mod pq, sendo S0 um valor aleatório (a seed) e bk o bloco k da mensagem.
    4. Defina a função de hash como sendo uma função que retire 160 bits aleatórios dos 1024 bits do último Sk


29/03/2007 - Funções de Hash - continuação da aula anterior

Dado estar a decorrer a ETAPS, a aula desta semana foi mais curta e concentrou-se em terminar o estudo de funções de Hash da aula anterior.


12/04/2007 - RSA

Implementação das funções primitivas de geração de chaves, cifragem e decifragem do RSA. Verificação de correcção.

Referências:


Trabalho Prático 1


03/05/2007 - Corpos Finitos e ElGamal?

  • Implemente as operações de adiçao e multiplicação sobre corpos finitos F2n, na representação Z2[X]/f(X)Z2[X], onde f(X) é um polinómio primitivo de grau n com coeficientes em Z2.
  • Implemente as primitivas de cifragem ElGamal? sobre F2n. Use as seguintes funções de conversão:

pol2int(p) = { local(x); x = 2; eval(lift(lift(p))) }


// c e' o polinomio caracteristico
int2pol(u, c) =
{
  local(bin_exp, i, n, p);

  bin_exp = binary(u);
  n = length(bin_exp);
  p = 0;
  for(i = 1, i <= n, p += bin_exp[i]*x^(n-i));
  return( Mod(p, c))
}


Trabalho Prático 2

-- PaulaCristinaValenca? - 15 Apr 2007

ElementosCriptografiaTrab 10 Jul 2007 - 18:03 - r6 PaulaCristinaValenca?

Trabalhos Práticos de EC - 2006/2007


Trabalho 1: Cifra RSA

Implemente em PARI/GP a geração de chaves RSA assim como as primitivas de cifragem e decifragem RSA.

Implemente também dois esquemas RSA: um sem padding (ou padding a zero) e outro que use a codificação PKCS1.5 (note que, apesar de estar ainda presente no Standard, o seu uso é preterido em favor de esquemas do tipo OAEP).

A sua implementação deverá cobrir as duas possiveis representações de chave privada. Comente adequadamente, optimize o seu código e inclua exemplos de execução.

Como referência, consulte

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 30/4/2007 7/5/2007 (Actualização)

Desafios:

Os seguintes desafios foram todos cifrados sem padding e demonstram algumas más práticas a evitar ou situações susceptíveis de ataque. A dificuldade dos desafios vai aumentando. Duas boas referências para ataques à cifra RSA:

Tente recuperar o texto limpo original correspondente a cada um dos criptogramas RSA apresentados. O texto limpo foi dividido em blocos de k/8 caracteres, onde k é o tamanho do módulo RSA usado e codificando cada caractér com base no seu código ASCII (consulte as funções Vecsmall e Strchr). Na implementação foram usadas as funções de conversão de dados OS2IP e I2OSP para converter as strings de octetos em inteiros para uso das primitivas RSA e vice-versa (ver documentação acima). Em particular, os criptogramas estão apresentados como blocos de strings de octetos (em hexadecimal). Note ainda que números grandes podem estar partidos em várias linhas.

Submeta as scripts de código que produzir, o texto limpo que recuperou e uma explicação de como procedeu para resolver o problema.

  • Problema 1
    • e = 5
    • N = 3587574192954427231067141445521243178607587714286579335419222874 9439203035201
    • C = 14 e7 47 40 30 e9 d6 81 63 1e 9c 27 84 3a 61 3a 3a 32 4a 48 e7 e2 db e7 54 4c b4 df 97 51 c6 8d

  • Problema 2
    • e = 3
    • N = 1089032683577364550668153146809624530428147750062064927216784759 6909833919686793385914649409832768160832685955810794264464577272 1578023786494435786218535101121749241579474189946833477645334025 6712003090427026723655229095672214149022589694174418368841198294 49701459194027075720926766820866417694789983660054201
    • C = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 1b 2b 27 94 53 9b 1a 7d 1c 51 d9 31 1c 58 d1 70 cc cc 0c 4b ca 28 8f 27 d1 a4 bd 91 d2 b2 4a 0c 54 10 bc 3f ee 2d 47 a9 a4 d5 5b fd 63 47 8d 0f 06 0d 97 68 c0

  • Problema 3 - Uma mesma mensagem M foi cifrada para três destinatários distintos com chaves públicas, respectivamente, (NA, e), (NB, e) e (NC, e).
    • e = 3
    • NA = 1122108819125288328734887308976261927054733692196165387530817045 5144422828779927054951818350236074434502334082373179631020451837 1544839019675852328331644980384851027727542434889929546615023950 7870720121300501583706799423536865480798066430190233181161961115 24880623908853557168750513262508514183295567563396901
    • CA = 5d f0 ba 37 0c ed 20 7b ef 9c 80 f2 fa e3 b7 98 91 44 ed 3f 34 5f a8 df 60 92 bb a1 c0 5b 2c ee 4b db b8 8a 91 e3 f2 4e 77 1f 5a 9a e0 12 68 e1 3d d5 8a 8a 29 be 59 fc c6 e1 b5 ed ed 50 c6 1a 28 75 76 59 c5 d9 0c 13 05 8e f2 77 09 5b 04 56 90 2e bc d5 bc 40 84 d0 11 6e 32 d1 7b 80 78 df ca 9d 5c 53 26 ec 89 77 8f d0 25 c6 0b a4 4e fe b6 19 10 15 17 67 58 fa 58 5d 3a 29 bb ad 80 7d
    • NB = 1203920984865608812188685303379759281708284737097885756870024244 2218525209633774370409435193513981140455560063960980279313799625 7833314068179655039692270490823980274420626465969667005417243382 1860006189185562586976210825142393988849701185584377921996904077 36712811686600001659384083176017014815881112323115387
    • CB = 8b ba 35 a0 e2 39 4b 76 b4 36 56 bc 59 c7 6b 42 45 a3 e2 86 55 a7 2b bb 6c 2f 03 62 4d 22 da ae dc fc 07 07 82 c8 00 07 bc a4 ec a6 76 9d cf c6 2c 78 1d 1c 51 11 8a ea e9 11 6b 12 1c 55 33 72 28 ca 49 ee 1c 8c d7 f2 33 57 e9 72 38 91 11 b0 b9 35 6b 40 ce b3 5f fa 10 a8 29 1a 5e 3a a9 ee f4 57 af 37 a5 d7 a3 61 ec 4a d4 b9 08 22 f4 7a 41 bb 0e 7b d4 23 87 1c 79 0d da 49 ad 00 d5 7b
    • NC = 1022554975542090063482710721600443949132214642275677741779805505 6021040530801119347667248824133296162673405108799966263434683008 1397262246730728060484806512449999058632114263350609476673917049 5243777520161990777652437505720980003147743232552239269909862465 38360263915450005885639842950464914540414973228130477
    • CC = 21 a3 3d bf e5 45 28 a2 a6 dd 2c cd be 3d fd 3c 66 29 1c f5 1e 09 6d e6 0d fd 9f 24 47 39 f7 48 14 e0 4d b6 0b f6 09 51 c9 d7 f3 d8 e5 04 ac 58 72 d3 63 87 3c 78 f1 76 b9 95 69 63 3e 69 a5 44 c0 a7 5e f7 1a 5c fe c8 81 10 19 04 74 d5 3b f4 97 0f 9e a0 23 e8 1b d4 6d 4d 3a 87 4c d6 5e 0b 41 df fe cd 03 6d fb f3 df 4f 08 fe 7e e9 ef 6e a7 57 3b 73 ab cb d2 47 21 ef c2 17 e4 50 2c 77

  • Problema 4 - Uma entidade gerou dois pares de chaves (eA, dA), (eB, dB) com o mesmo módulo N. O criptograma C resultou de cifrar uma mensagem M com a chave pública(N, eA). O par (eB, dB) é-lhe conhecido.
    • eA = 7
    • eB = 65537
    • dB = 3941660308803989588796406037133474870767018186927131910996047734 7702105880619234458420932298926540265854465032835901877079191136 3625596047742324915271764994317854466603971318473969792423131558 0999119099507819572983084995937043975358564874839468140832738389 2352649528455574857326003405818818014111476249182273
    • N = 9319068963134454028894302397388764163256063164381076625214573607 2740004080019580400488190478887037135761330261795328330380192983 5423184999310560893656770122690039118217688075368974268275502654 0262403851351000479569108965475246903102665778935639554017423017 4770649063948079509069830480072323583374601495530559
    • C = 80 f8 31 9a 3c 3c 59 e3 a3 50 58 15 18 72 d2 d6 9a ce 3e d9 8e a0 69 55 55 dc 7e 65 63 ce 3d f1 a2 c2 d1 79 dd 71 e0 a8 dc b9 8d 85 61 63 fb c6 fb 86 e0 a2 4d 53 6b c5 29 8d c8 a6 82 12 4c a2 a2 7c 0f db ee 1a cb 0b 82 5e 66 ec dc 8d e1 ac f9 d0 5b 9f 6a 35 85 f7 99 1a 63 39 9c 10 2d c7 72 1b 22 ca 55 e4 a9 51 77 04 4f dd bd b0 a9 9c 59 8b a6 77 21 d8 e4 01 ef 87 60 45 48 1a 4b f1

  • Problema 5
    • e = 2781256904645424482432081634242555131496595019896396122661652483 1852818707612280200369494571182920614986907740197159710639233959 9362621130977624648471971584109105417809729915120380582976281221 6593313934362689149547380900478372287256449191972768111548274700 1462621144735141539925656762024582802558939120369493
    • N = 1390628452322712241216040817121277565748297509948198061330826241 5926409353806140100184747285591460307493453870098579855319616979 9681310565488812324235985815731186882762045899073877401244364116 6541174461115382050943958194070324865198444165777393853885199987 26871321612903150483200686546285155751607596546340899
    • C = 77 81 2f 94 ed 89 d2 3a 00 fd 62 99 c8 2a e0 61 b1 bb f7 9a b8 80 24 9e 9f c2 22 a4 dc 7d 34 32 69 f0 cd 2f 71 87 d1 13 64 7b c3 3d b5 30 bb d0 64 99 fc c9 67 40 c6 eb 1b 5f df aa 1b c5 0f 24 50 b4 de 42 54 0f 52 fb ab 05 c3 89 4a 84 c9 8c ae c1 c2 42 21 03 93 63 e6 3b da 64 2b 99 38 d2 b4 06 1b 67 59 cd 66 b9 b9 14 8b ea 93 15 57 47 a2 b9 db 45 08 2a 07 9f 4b b2 34 31 b9 03 99 8f


Trabalho 2: Funções sobre GF(2n) e GF(2)n

No que se segue, cp é um polinómio característico de GF(2n), B é uma base de GF(2n) e (.)~: GF(2n) -> GF(2)n denota a representação vectorial de um elemento x de GF(2n) segundo a base B, isto é, x = B.x~. A representação xs (respectivamente, As) denota o vector (ou matriz) cujas componentes são dadas por xs[i] = sigi(x) (respectivamente, As[i,j] = sigj(A[i])), sigi o automorfismo de ordem i.

Igualmente, T é a matriz dos traços cruzados (T[i,j] = tr(bi.bj), bi,bj elementos de B, em que tr(.) denota o traço) e B' = T-1B é a base dual de B.

1. Escreva um programa em Pari que, dado um polinómio característico cp e, opcionalmente, uma base B, construa as várias componentes e funções descritas acima: Bs, T, T-1, B', Bs', (.)~,...

2. Considere a S-box de Rijndael usada no AES Rijndael S-box que define uma transformação afim g~(y~) = H y~ + b~. Usando as funções anteriores, reconstrua g(y) = b + h.xs, com =h = (H B')st B.

3. Verifique que a sua implementação reflecte o facto 28 na página 184-185 dos apontamentos.

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 20/7/2007.

-- PaulaCristinaValenca? - 11 Jun 2007

IdeiasProjectos 27 Feb 2006 - 18:06 - r3 JoseBacelarAlmeida

Projectos

Título
Enquadramento
Orientador
Resumo

Interface Haskell para GMP
ElementosCriptografia0405
ManuelBernardoBarbosa
A GMP (GNU Multi-Precision Arithmetic Library) e' uma biblioteca que permite efectuar ca'lculos sobre nu'meros com precisao arbitra'ria (inteiros, racionais, e reais) com elevada eficiciencia. E' utilizada, por exemplo como base para a NTL, uma ferramenta para teoria dos nu'meros muito utilizada em criptografia. O que se pretende neste projecto e' o desenvolvimento de uma interface que permita tirar partido das funcionalidades de calculo sobre Z e Zp implementadas na GMP dentro de programas Haskell. A interface devera' ser o mais transparente possi'vel: devera' ser natural para um programador em Haskell. Os beneficios de eficiencia deverao ser medidos atrave's da implementacao de alguns algoritmos criptogra'ficos e.g. RSA, El-Gamal que operem sobre n'umeros de tamanho realista. A GMP pode ser obtida em http://www.swox.com/gmp/.

Esteganografia
ElementosCriptografia0405
ManuelBernardoBarbosa
A esteganografia e' a ciencia de esconder informacao, de forma segura, em suportes digitais, como sejam ficheiros de imagem. O que se pretende com este projecto ´e o estudo da esteganografia como tecnologia de suporte `a comunicacao segura, no sentido criptogr´afico do termo. Depois de uma an´alise de bibliografia relevante, o objectivo ser´a a implementacao de um sistema de troca de informacao segura com base em t´ecnicas de esteganografia.

Votacao Electronica
ElementosCriptografia0405
ManuelBernardoBarbosa
Pretende-se com este projecto implementar uma livraria em JAVA que possa ser utilizada em sistemas de votacao electr´onica. A livraria dever´a conter implementacoes das primitivas criptogr´aficas utilizadas nas diversas variantes deste tipo de sistemas: nao s´o cifras, mas tamb´em esquemas mais complexos como blind signatures, bit commitments, provas de conhecimento zero, etc. Na fase final dever´a ser desenvolvido um pequeno applet que exemplifique as potencialidades da biblioteca desenvolvida.
LECOMNews0506 24 Feb 2007 - 16:13 - r11 ManuelBernardoBarbosa

  • Sumário: On-Line Certificate Status Protocol (OCSP) e Secure Sockets Layer (SSL). -- ManuelBernardoBarbosa - 25 May 2006

  • Sumário: Assinaturas digitais, identificação de agentes, protocolos de conhecimento zero, mecanismo desafio-resposta. -- ManuelBernardoBarbosa - 20 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Segurança teórica de cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 06 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 30 Mar 2006.

  • Sumário: Implementação de CBC a partir de ECB sobre openssl. Segurança teórica de cifras simétricas. -- ManuelBernardoBarbosa - 23 Mar 2006

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB -- ManuelBernardoBarbosa - 16 Mar 2006.

  • Sumário: Implementação em C de cifragem RC4. Cifras por blocos. DES, IDEA e AES. Padding. -- ManuelBernardoBarbosa - 9 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 2 Mar 2006.

LECOMNews0607 19 Sep 2008 - 13:40 - r7 JoseBacelarAlmeida
Para consultar o exame da época especial, contactar o docente da disciplina. -- -- ManuelBernardoBarbosa - 20 Set 2007

Os exames de recurso poderão ser cunsultados na 5a feira dia 26 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 25 Jul 2007

O exame oral realizar-se-á na 2a feira, dia 9 de Julho, às 15:00, no Departamento de Informática em Gualtar/Braga. O aluno em questão deverá contactar o docente por e-mail, no caso da existência de algum impedimento à realização do exame oral nesta data. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da 2a chamada poderão ser consultados na 2a feira dia 9 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da primeira chamada poderão ser consultados na aula de dúvidas de 5a feira. -- ManuelBernardoBarbosa - 27 Jun 2007

Haverá uma aula de dúvidas de Criptografia, antes do exame da 2a chamada. Terá lugar na 5a feira, dia 28 de Junho, às 16:00, na sala de aula onde decorreram as aulas da disciplina. -- ManuelBernardoBarbosa - 26 Jun 2007

LabCom6 19 Jul 2007 - 20:43 - r9 ManuelBernardoBarbosa

Laboratórios de Comunicações 6

MECOM 2006/2007

Notas

Avisos

  • Entregas Dia 26 de Junho
    • Todos os grupos irão apresentar os projectos no dia 26 de Junho.
    • Apesar de o exame estar marcado para a parte da manhã, por conveniência dos docentes as apresentações terão lugar de tarde, a partir das 14:30 no laboratório das aulas da disciplina.
    • Cada grupo deverá enviar por e-mail o relatório até às 12:00 do dia 26, para que seja possível faze-lo chegar a todos os docentes atempadamente.
    • No laboratório, cada grupo deverá entregar o relatório em papel e disporá de 15 minutos para apresentar o projecto, podendo recorrer a uma apresentação projectada se assim o entenderem os seus elementos.
    • No final haverá lugar para 15 a 20 minutos de perguntas individuais.
    • O escalonamento das apresentações será o seguinte:

Grupo Hora
1 14:30-15:10
2 15:10-15:40
3 15:50-16:30
4 16:30-17:10
5 17:10-17:50

  • As entregas dos relatórios e apresentações dos trabalhos serão realizadas nas datas reservadas para os exames da época normal da disciplina: 11 de Junho (T) e 26 de Junho (M). As entregas terão lugar no laboratório onde decorrem as aulas da disciplina. Os alunos poderão optar por qualquer uma destas datas para efectuar a entrega, devendo para esse efeito enviar um e-mail até 24 horas antes da hora da apresentação.
  • A deadline para entrega do relatório intermédio é 6a Feira dia 30 de Março às 23:59. Os relatórios, em formato PDF, deverão ser enviados por e-mail para Manuel Bernardo Barbosa. Deverão descrever, nomeadamente:
    • O estado actual do projecto.
    • O resultado da análise de requisitos.
    • Uma proposta de arquitectura.
    • Uma descrição das tecnologias a adoptar.
    • Um planeamento temporal da implementação do projecto.
    • Uma descrição das decisões de implementação já tomadas em cada uma das componentes tecnológicas abordadas no projecto.

Notas

  • Notas dos relatórios intermédios

Número Nome Grupo Nota
41560 Bruna Cristiana de Oliveira Fernandes 1 0
41563 Bruno Ricardo Fernandes Pimenta 1 0
33209 Paulo Miguel Sá Morais Pires 1 0
30494 André António Oliveira Gomes 2 14
38585 Jorge Miguel Pereira Coutada Miranda 2 14
41580 Tiago Manuel Ribeiro Gomes 2 14
38596 Hélder Tavares de Lemos 3 15
41574 João André de Jesus Namorado Lopes Quintas 3 15
40812 David Esteves Magalhães Martins 4 12
41048 João Manuel da Cunha Gomes 4 12
44033 João Carlos de Oliveira Gomes 5 17
39083 Joel Filipe de Araújo e Silva Azevedo 5 17
44051 Sebastien André Leroux 5 17

Material Disponibilizado

Corpo Docente

Horário

Dia Hora Docentes
3a Feira 14:00 - 16:00 Francisco Soares Moura, João Nuno Oliveira
5a Feira 14:00 - 16:00 Manuel Bernardo Barbosa, Joaquim Neves

Pré-requisitos

Ter obtido aprovação em Laboratórios de Comunicações II e IV e frequentado Laboratórios de Comunicações I , III e V.

Resultados da aprendizagem

Competências gerais:

  • Utilizar correctamente o ambiente laboratorial, incluindo os seguintes equipamentos: computadores ligados em rede (LAN), comutadores Ethernet e routers IP.
  • Descrever os principais protocolos de encaminhamento interno e externo utilizados na Internet;
  • Descrever os principais protocolos de encaminhamento multicast usados nas redes IP;
  • Descrever soluções capazes de dotar a Internet de qualidade de serviço (QoS? );
  • Descrever protocolos, técnicas e algoritmos para sistemas de criptografia.

Competências específicas:

  • Montar e configurar uma rede de computadores de área local, baseada em tecnologia IEEE 802.3 (Ethernet), envolvendo:
    • Sistema de cablagem
    • Instalação e configuração de elementos activos de nível 2 (comutadores Ethernet)
  • Estabelecer uma rede IP, envolvendo:
    • Instalação e configuração de elementos de nível 3 (router IP)
    • Instalação e configuração de serviços DHCP e NAT
  • Instalar e configurar um serviço DNS.
  • Criar e manipular uma base de dados (localmente e remotamente)
  • Utilizar serviços básicos de segurança.

Organização e Funcionamento

O projecto será desenvolvido em grupos de 2 alunos dentro e fora das aulas da disciplina (2 sessões semanais de 2 horas cada).

Nos pontos de controlo a definir e no fim do semestre, cada grupo apresentará à equipa docente e à turma o trabalho realizado e os resultados obtidos, devendo entregar um relatório técnico de desenvolvimento devidamente estruturado e fundamentado.

Em cada aula estarão presentes dois docentes que irão esclarecendo questões específicas dentro da sua área de trabalho.

Avaliação

A nota final será calculada aproximadamente de acordo com a seguinte expressão:

Nota Final = 0.3 Q + 0.2 RI + 0.3 RF + 0.2 AF

Em que a descrição de cada parâmetro é a seguinte:

  • Q - Testes de avaliação contínua efectuados em algumas aulas laboratoriais.
  • RI - Relatório intermédio - Pequeno relatório que apresentará já a estrutura do relatório final a apresentar a meio do semestre.
  • RF - Relatório final - Este relatório reflectirá todo o trabalho desenvolvido durante o semestre nesta disciplina.
  • AF - Apresentação final do Projecto.


ManuelBernardoBarbosa - 24 Feb 2007

MenuTopics 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
CA
CriptoBio
LECOM
MICEI
EC
Opcao III
OIII0607 19 Sep 2008 - 13:37 - r2 JoseBacelarAlmeida

Projectos de Opção III 2006/2007

Todos os seguintes projectos serão orientados por MBB ou JBA conjuntamente com um elemento da empresa Multicert.


-- ManuelBernardoBarbosa - 21 Sep 2006

WebArchive 24 Sep 2008 - 18:59 - r2 JoseBacelarAlmeida


MI/MEI

Criptografia e Segurança em Sistemas de Informação


LESI/LMCC

Criptografia Aplicada

Elementos de Criptografia

Opção III


Eng. Biomédica

Criptografia


MECOM

Criptografia


MI/CEI

Criptografia


MSDPA

Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados

WebChanges 16 Aug 2001 - 19:58 - NEW PeterThoeny?

50 Recent Changes in TWiki Web retrieved at 16:53 (GMT)

CSSI0809 29 Sep 2009 - 17:01 - r19 ManuelBernardoBarbosa
Criptografia e Segurança de Sistemas de Informação Edição 2008/2009 2009/2010 (incluindo temas de tese) Equipa Docente José Manuel Valença (TC) Manuel ...
CSI0809 22 Jul 2009 - 01:44 - r14 JoseBacelarAlmeida
Criptografia e Segurança da Informação 2008/2009 Programa Teoria: Introdução: conceitos e terminologia. Cifras simétricas: sequenciais e por blocos ...
AvisosCSSI0809 13 Jul 2009 - 18:34 - r10 ManuelBernardoBarbosa
13/07: Disponíveis notas de GSI/PSC (secção de Avaliação). 15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação). 03/03: Disponíveis notas finais ...
CriptografiaBiomedica0809 02 Jul 2009 - 17:11 - r14 JoseBacelarAlmeida
Criptografia 2008 2009 Licenciatura em Engenharia Biomédica (Edição 2006 2007; Edição 2005 2006) Equipa Docente José Carlos Bacelar Almeida (responsável pela ...
CriptoBio0809Programa 02 Jul 2009 - 16:56 - NEW JoseBacelarAlmeida
Criptografia (MIEBIO) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia Conceitos ...
CSSI-PI0809-2 01 Jul 2009 - 16:24 - NEW JoseBacelarAlmeida
Projecto Integrador Sumários (2º Sem.) MI CSSI (2008/2009) 03/03/2009, 14:00 16:00 Apresentação dos projectos do 2º semestre: Sistema de Armazenamento ...
CSSI-PI0809-1 01 Jul 2009 - 15:49 - r4 JoseBacelarAlmeida
Projecto Integrador Sumários (1º Sem.) MI CSSI (2008/2009) 30/09/2008, 18:00 20:00 Ambiente de Desenvolvimento Utilização do framework JCA/JCE . Continua ...
CSI0809Programa 01 Jul 2009 - 11:30 - NEW JoseBacelarAlmeida
Criptografia e Segurança da Informação (UCE CSSI) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia ...
ElementosCriptografia0506 14 May 2009 - 23:35 - r19 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
AvisosCriptoBio0809 04 Feb 2009 - 05:08 - r6 JoseBacelarAlmeida
03/02/2009: Já estão disponíveis as notas do teste. 12/01/2009: Já está disponível a avaliação prática da disciplina. 30/12/2008: Sessão de defesa dos trabalhos ...
CriptoBioT0809 13 Dec 2008 - 23:16 - r6 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Sumários das aulas Teóricas (2008/2009) Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: 25/09 ...
CriptoBioTP0809 11 Dec 2008 - 10:56 - r15 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Guiões das aulas Teórico Práticas 2008/2009 Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: ...
CSITP0809 07 Dec 2008 - 22:56 - r8 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (TP) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 16:00 18:00 Ambiente de Desenvolvimento O objectivo principal ...
CriptografiaBiomedicaProj0809 05 Dec 2008 - 22:56 - r2 JoseBacelarAlmeida
Mini Projecto Prático Descrevem se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais ...
CSIT0809 25 Nov 2008 - 22:26 - r3 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (T) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 14:00 16:00 Apresentação do Módulo: programa, organizaç ...
WebSideBar 05 Oct 2008 - 21:13 - r8 JoseBacelarAlmeida
Disciplinas Criptografia (Biomédica) CSSI Outras Avisos " else ""}%
CriptoBioNews0607 24 Sep 2008 - 18:59 - r4 JoseBacelarAlmeida
Já estão disponíveis as notas da época normal ManuelBernardoBarbosa 30 Jan 2007 Site criado. ManuelBernardoBarbosa 21 Sep 2006
WebArchive 24 Sep 2008 - 18:59 - r2 JoseBacelarAlmeida
MI/MEI Criptografia e Segurança em Sistemas de Informação 2008/2009 LESI/LMCC Criptografia Aplicada 2007/2008 2006/2007 2005/2006 2004 ...
MenuTopics 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
CA CriptoBio LECOM MICEI EC Opcao III
CriptografiaBiomedica0506 24 Sep 2008 - 18:59 - r6 JoseBacelarAlmeida
Education.Criptografia Licenciatura em Engenharia Biomédica Ramo Bioinformática 4º Ano 1º Semestre Ano lectivo 2005/2006 Programa Conceitos ...
CriptografiaBiomedica0607 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
Notícias Criptografia 2006 2007 Licenciatura em Engenharia Biomédica (Edição 2005 2006) Notas Notas da época de recurso: Número Nome Nota ...
CriptografiaAplicada0708 24 Sep 2008 - 10:35 - r25 JoseBacelarAlmeida
Notícias 2007 2008 Criptografia Aplicada Criptografia e Segurança da Informação (Edição 2006 2007, Edição 2005 2006, Edição 2004 2005) Equipa Docente Jos ...
WebHome 19 Sep 2008 - 13:41 - r29 JoseBacelarAlmeida
Team JoseManuelValenca ManuelBernardoBarbosa JoseBacelarAlmeida AlcinoCunha Teaching LESI Criptografia Aplicada Elementos de ...
CriptografiaMestrados0506 19 Sep 2008 - 13:41 - r9 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) 2005 2006 Docente ManuelBernardoBarbosa Programa Conceitos Fundamentais Education.Criptografia, Criptoan ...
CriptografiaMestradoNews0607 19 Sep 2008 - 13:41 - r2 JoseBacelarAlmeida
Criação do Site JoseBacelarAlmeida 07 Mar 2007
CriptografiaLECOM0506 19 Sep 2008 - 13:41 - r21 JoseBacelarAlmeida
Notícias Education.Criptografia LECOM 2005 2006 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) Horários Tipo Horário Docente ...
CriptografiaMestrados0607 19 Sep 2008 - 13:41 - r18 JoseBacelarAlmeida
Criptografia (MICEI) / Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados (MSDPA) Ano Lectivo 2006 2007 Ano Lectivo 2006 2007 Docente ...
CriptografiaMestrados0304 19 Sep 2008 - 13:41 - r7 JoseBacelarAlmeida
Education.Criptografia MICEI Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados MSDPA 2003 2004 Notas MICEI MSDPA Respons ...
CriptografiaMestrados0405 19 Sep 2008 - 13:41 - r12 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados (MSDPA) 2004 2005 Docente AlcinoCunha ...
CriptografiaLECOM0607 19 Sep 2008 - 13:40 - r19 JoseBacelarAlmeida
Notícias Criptografia MECOM 2006 2007 Notas Notas da época especial Notas do Recurso Notas da 2a chamada Notas da 1a chamada Avaliação ...
LECOMNews0607 19 Sep 2008 - 13:40 - r7 JoseBacelarAlmeida
Para consultar o exame da época especial, contactar o docente da disciplina. ManuelBernardoBarbosa 20 Set 2007 Os exames de recurso poderão ser cunsultados na ...
WebStatistics 19 Sep 2008 - 13:37 - r331 JoseBacelarAlmeida
Statistics for Education/Criptografia Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for ...
OIII0607 19 Sep 2008 - 13:37 - r2 JoseBacelarAlmeida
Projectos de Opção III 2006/2007 Todos os seguintes projectos serão orientados por MBB ou JBA conjuntamente com um elemento da empresa Multicert. Microsoft Office ...
ElementosCriptografiaNews0607 19 Sep 2008 - 13:36 - r9 JoseBacelarAlmeida
Notas saíram as notas da 1ª chamada PaulaCristinaValenca 27 Jul 2007 JOIN'07 devido a estar a decorrer as join'07, não haverá aula dia 10/05. PaulaCristinaValenca ...
ElementosCriptografiaNews0506 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
Projectos a data limite para a entrega dos projectos (protocolo Multicert/UM ) é 30 de Setembro de 2006. JoseBacelarAlmeida 11 Set 2006 Classificações As ...
ElementosCriptografia0607 19 Sep 2008 - 13:36 - r12 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computação 4º ...
ElementosCriptografiaNews0405 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
27 Jul Já sairam as notas da época de recurso. 15 Jul Já sairam as notas da época normal. 1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem ...
ElementosCriptografiaTP0607 19 Sep 2008 - 13:35 - r14 JoseBacelarAlmeida
Sessões laboratoriais de EC 5ª feira, 16:00 18:00, DI 1.04 01/03/2007 Introdução ao PARI/GP Esta sessão é acompanhada de um documento PDF que apresenta uma vers ...
ElementosCriptografiaNotas0607 19 Sep 2008 - 13:35 - r3 JoseBacelarAlmeida
Avaliação de Elementos de Criptografia Classificações Num. Nome Trab.1 Trab.2 FINAL Exame 1a ...
ElementosCriptografia0405 19 Sep 2008 - 13:35 - r10 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
ElementosCriptografia0304 19 Sep 2008 - 13:35 - r15 JoseBacelarAlmeida
Elementos/Fundamentos de Education.Criptografia 2003 2004 Notas Notas Finais (XLS) Notas dos exames das duas chamadas Notas dos trabalhos práticos ...
CriptografiaAplicada0405 19 Sep 2008 - 13:24 - r20 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2004 2005 Notas Notas do exame de recurso (contactar MBB por e mail para agendar exame oral) Notas dos trabalhos ...
CriptografiaAplicada0607 19 Sep 2008 - 13:24 - r32 JoseBacelarAlmeida
Notícias Criptografia Aplicada 2006 2007 (Edição 2005 2006, Edição 2004 2005) Notas Notas da época especial Notas da Época de Recurso Notas do exame ...
CriptografiaAplicadaTP0708 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Sessões laboratoriais de CA (2007/2008) #AulaUm Aula 1 Ambiente de Desenvolvimento O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento ...
CriptografiaAplicada0506 19 Sep 2008 - 13:24 - r23 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2005 2006 Edição 2004 2005 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) AlcinoCunha Hor ...
CSSI0708 19 Sep 2008 - 13:24 - r5 JoseBacelarAlmeida
CSSI Edição 2007 2008 Equipa Docente Manuel Bernardo Barbosa Manuel Valença José Bacelar Almeida Victor Francisco Fonte Rui Carlos Oliveira ...
CriptografiaAplicada0708Projs 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
Mini Projectos Projecto 4: Site para intranet com autenticação baseada em Certificados X509 Prazo: 3 semanas (entrega/demonstração na aula do dia 8 de Janeiro ...
CANews0708 19 Sep 2008 - 13:24 - r18 JoseBacelarAlmeida
22 02 2008 Já estão disponíveis as notas do exame de recurso. DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2 105). 28 01 2008 Já estão dispon ...
CANews0607 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Para consultar os exames da época especial, contactar mbb. ManuelBernardoBarbosa 20 Set 2007 Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre ...
CANews0405 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da ...
Found 50 topics.

See also: rss-small RSS feed, recent changes with 50, 100, 200, 500, 1000 topics, all changes

WebCss 16 Feb 2007 - 20:58 - NEW ManuelBernardoBarbosa
.natRevision { width:0px; height:0px; overflow:hidden; }

.natBreadCrumbs { width:0px; height:0px; overflow:hidden; }

.natMainFooterContents, .natMainHeaderContents { padding:0px; margin:0px 0px; }

WebHome 19 Sep 2008 - 13:41 - r29 JoseBacelarAlmeida

Team

Teaching

WebIndex 24 Nov 2001 - 11:41 - r2 PeterThoeny?
Education/Criptografia Web Changed Changed by
AvisosCSSI0809 13 Jul 2009 - 18:34 - r10 ManuelBernardoBarbosa
13/07: Disponíveis notas de GSI/PSC (secção de Avaliação). 15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação). 03/03: Disponíveis notas finais ...
AvisosCriptoBio0809 04 Feb 2009 - 05:08 - r6 JoseBacelarAlmeida
03/02/2009: Já estão disponíveis as notas do teste. 12/01/2009: Já está disponível a avaliação prática da disciplina. 30/12/2008: Sessão de defesa dos trabalhos ...
CANewS0506 19 Sep 2008 - 13:24 - r10 JoseBacelarAlmeida
Já estão disponíveis as notas do exame de recurso ManuelBernardoBarbosa 23 Fev 2006 Para consultar os exames, contactar docente na segunda feira dia 6 de ...
CANews0405 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da ...
CANews0607 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Para consultar os exames da época especial, contactar mbb. ManuelBernardoBarbosa 20 Set 2007 Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre ...
CANews0708 19 Sep 2008 - 13:24 - r18 JoseBacelarAlmeida
22 02 2008 Já estão disponíveis as notas do exame de recurso. DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2 105). 28 01 2008 Já estão dispon ...
CSI0809 22 Jul 2009 - 01:44 - r14 JoseBacelarAlmeida
Criptografia e Segurança da Informação 2008/2009 Programa Teoria: Introdução: conceitos e terminologia. Cifras simétricas: sequenciais e por blocos ...
CSI0809Programa 01 Jul 2009 - 11:30 - NEW JoseBacelarAlmeida
Criptografia e Segurança da Informação (UCE CSSI) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia ...
CSIT0809 25 Nov 2008 - 22:26 - r3 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (T) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 14:00 16:00 Apresentação do Módulo: programa, organizaç ...
CSITP0809 07 Dec 2008 - 22:56 - r8 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (TP) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 16:00 18:00 Ambiente de Desenvolvimento O objectivo principal ...
CSSI-PI0809-1 01 Jul 2009 - 15:49 - r4 JoseBacelarAlmeida
Projecto Integrador Sumários (1º Sem.) MI CSSI (2008/2009) 30/09/2008, 18:00 20:00 Ambiente de Desenvolvimento Utilização do framework JCA/JCE . Continua ...
CSSI-PI0809-2 01 Jul 2009 - 16:24 - NEW JoseBacelarAlmeida
Projecto Integrador Sumários (2º Sem.) MI CSSI (2008/2009) 03/03/2009, 14:00 16:00 Apresentação dos projectos do 2º semestre: Sistema de Armazenamento ...
CSSI0708 19 Sep 2008 - 13:24 - r5 JoseBacelarAlmeida
CSSI Edição 2007 2008 Equipa Docente Manuel Bernardo Barbosa Manuel Valença José Bacelar Almeida Victor Francisco Fonte Rui Carlos Oliveira ...
CSSI0809 29 Sep 2009 - 17:01 - r19 ManuelBernardoBarbosa
Criptografia e Segurança de Sistemas de Informação Edição 2008/2009 2009/2010 (incluindo temas de tese) Equipa Docente José Manuel Valença (TC) Manuel ...
CriptoBio0809Programa 02 Jul 2009 - 16:56 - NEW JoseBacelarAlmeida
Criptografia (MIEBIO) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia Conceitos ...
CriptoBioNews0607 24 Sep 2008 - 18:59 - r4 JoseBacelarAlmeida
Já estão disponíveis as notas da época normal ManuelBernardoBarbosa 30 Jan 2007 Site criado. ManuelBernardoBarbosa 21 Sep 2006
CriptoBioT0809 13 Dec 2008 - 23:16 - r6 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Sumários das aulas Teóricas (2008/2009) Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: 25/09 ...
CriptoBioTP0809 11 Dec 2008 - 10:56 - r15 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Guiões das aulas Teórico Práticas 2008/2009 Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: ...
CriptografiaAplicada0405 19 Sep 2008 - 13:24 - r20 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2004 2005 Notas Notas do exame de recurso (contactar MBB por e mail para agendar exame oral) Notas dos trabalhos ...
CriptografiaAplicada0506 19 Sep 2008 - 13:24 - r23 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2005 2006 Edição 2004 2005 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) AlcinoCunha Hor ...
CriptografiaAplicada0607 19 Sep 2008 - 13:24 - r32 JoseBacelarAlmeida
Notícias Criptografia Aplicada 2006 2007 (Edição 2005 2006, Edição 2004 2005) Notas Notas da época especial Notas da Época de Recurso Notas do exame ...
CriptografiaAplicada0708 24 Sep 2008 - 10:35 - r25 JoseBacelarAlmeida
Notícias 2007 2008 Criptografia Aplicada Criptografia e Segurança da Informação (Edição 2006 2007, Edição 2005 2006, Edição 2004 2005) Equipa Docente Jos ...
CriptografiaAplicada0708Projs 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
Mini Projectos Projecto 4: Site para intranet com autenticação baseada em Certificados X509 Prazo: 3 semanas (entrega/demonstração na aula do dia 8 de Janeiro ...
CriptografiaAplicadaTP0607 09 Dec 2007 - 02:42 - r19 JoseBacelarAlmeida
Sessões laboratoriais de CA (2006/2007) Aula 1 Arquitectura Cliente Servidor Pretende se construir uma plataforma que permita a um número arbitrário de clientes ...
CriptografiaAplicadaTP0708 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Sessões laboratoriais de CA (2007/2008) #AulaUm Aula 1 Ambiente de Desenvolvimento O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento ...
CriptografiaAplicadaTP0708Turnos 10 Oct 2007 - 01:17 - r3 JoseBacelarAlmeida
Turno 1 (16:00 18:00) Número Curso Nome 30259 LESI Rui ??? 35308 LESI Francisco Leite 8808 LESI Álvaro Agante 40625 ...
CriptografiaBiomedica0506 24 Sep 2008 - 18:59 - r6 JoseBacelarAlmeida
Education.Criptografia Licenciatura em Engenharia Biomédica Ramo Bioinformática 4º Ano 1º Semestre Ano lectivo 2005/2006 Programa Conceitos ...
CriptografiaBiomedica0607 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
Notícias Criptografia 2006 2007 Licenciatura em Engenharia Biomédica (Edição 2005 2006) Notas Notas da época de recurso: Número Nome Nota ...
CriptografiaBiomedica0809 02 Jul 2009 - 17:11 - r14 JoseBacelarAlmeida
Criptografia 2008 2009 Licenciatura em Engenharia Biomédica (Edição 2006 2007; Edição 2005 2006) Equipa Docente José Carlos Bacelar Almeida (responsável pela ...
CriptografiaBiomedicaProj0809 05 Dec 2008 - 22:56 - r2 JoseBacelarAlmeida
Mini Projecto Prático Descrevem se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais ...
CriptografiaLECOM0506 19 Sep 2008 - 13:41 - r21 JoseBacelarAlmeida
Notícias Education.Criptografia LECOM 2005 2006 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) Horários Tipo Horário Docente ...
CriptografiaLECOM0607 19 Sep 2008 - 13:40 - r19 JoseBacelarAlmeida
Notícias Criptografia MECOM 2006 2007 Notas Notas da época especial Notas do Recurso Notas da 2a chamada Notas da 1a chamada Avaliação ...
CriptografiaMestradoNews0405 12 Feb 2007 - 19:22 - r5 JoseBacelarAlmeida
14 Out As notas do exame de recurso já saíram. 25 Jul As notas do exame já saíram. Caso o desejem, é possível marcar um exame oral para os alunos que reprovaram ...
CriptografiaMestradoNews0506 07 Mar 2007 - 00:37 - r8 JoseBacelarAlmeida
Sumário: IPSec e Secure Sockets Layer (SSL/TLS). ManuelBernardoBarbosa 2 Jun 2006 Sumário: On Line Certificate Status Protocol. ManuelBernardoBarbosa ...
CriptografiaMestradoNews0607 19 Sep 2008 - 13:41 - r2 JoseBacelarAlmeida
Criação do Site JoseBacelarAlmeida 07 Mar 2007
CriptografiaMestrados0304 19 Sep 2008 - 13:41 - r7 JoseBacelarAlmeida
Education.Criptografia MICEI Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados MSDPA 2003 2004 Notas MICEI MSDPA Respons ...
CriptografiaMestrados0405 19 Sep 2008 - 13:41 - r12 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados (MSDPA) 2004 2005 Docente AlcinoCunha ...
CriptografiaMestrados0506 19 Sep 2008 - 13:41 - r9 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) 2005 2006 Docente ManuelBernardoBarbosa Programa Conceitos Fundamentais Education.Criptografia, Criptoan ...
CriptografiaMestrados0607 19 Sep 2008 - 13:41 - r18 JoseBacelarAlmeida
Criptografia (MICEI) / Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados (MSDPA) Ano Lectivo 2006 2007 Ano Lectivo 2006 2007 Docente ...
ElementosCriptografia0304 19 Sep 2008 - 13:35 - r15 JoseBacelarAlmeida
Elementos/Fundamentos de Education.Criptografia 2003 2004 Notas Notas Finais (XLS) Notas dos exames das duas chamadas Notas dos trabalhos práticos ...
ElementosCriptografia0405 19 Sep 2008 - 13:35 - r10 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
ElementosCriptografia0506 14 May 2009 - 23:35 - r19 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
ElementosCriptografia0607 19 Sep 2008 - 13:36 - r12 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computação 4º ...
ElementosCriptografiaNews0405 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
27 Jul Já sairam as notas da época de recurso. 15 Jul Já sairam as notas da época normal. 1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem ...
ElementosCriptografiaNews0506 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
Projectos a data limite para a entrega dos projectos (protocolo Multicert/UM ) é 30 de Setembro de 2006. JoseBacelarAlmeida 11 Set 2006 Classificações As ...
ElementosCriptografiaNews0607 19 Sep 2008 - 13:36 - r9 JoseBacelarAlmeida
Notas saíram as notas da 1ª chamada PaulaCristinaValenca 27 Jul 2007 JOIN'07 devido a estar a decorrer as join'07, não haverá aula dia 10/05. PaulaCristinaValenca ...
ElementosCriptografiaNotas0506 26 Feb 2007 - 00:08 - r3 JoseBacelarAlmeida
Avaliação de Elementos/Fundamentos de Education.Criptografia Classificações LESI Num. Nome Prática ...
ElementosCriptografiaNotas0607 19 Sep 2008 - 13:35 - r3 JoseBacelarAlmeida
Avaliação de Elementos de Criptografia Classificações Num. Nome Trab.1 Trab.2 FINAL Exame 1a ...
ElementosCriptografiaProjs0506 26 Feb 2007 - 00:10 - r9 JoseBacelarAlmeida
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 ...
ElementosCriptografiaTP0405 26 Feb 2007 - 00:20 - r5 JoseBacelarAlmeida
Elementos de Education.Criptografia Trabalho Prático 1 (9 Mar) Efectue a criptoanálise destes quatro criptogramas que foram obtidos recorrendo a cifras de substitui ...
ElementosCriptografiaTP0506 26 Feb 2007 - 00:20 - r24 JoseBacelarAlmeida
Sessões laboratoriais de EC 5ª feira, 14:00 16:00, DI 1.04 23/02/2006 Apresentação Apresentação e inscrição nos turnos. 02/03/2006 Introdução ao ao PARI ...
ElementosCriptografiaTP0607 19 Sep 2008 - 13:35 - r14 JoseBacelarAlmeida
Sessões laboratoriais de EC 5ª feira, 16:00 18:00, DI 1.04 01/03/2007 Introdução ao PARI/GP Esta sessão é acompanhada de um documento PDF que apresenta uma vers ...
ElementosCriptografiaTrab 10 Jul 2007 - 18:03 - r6 PaulaCristinaValenca?
Trabalhos Práticos de EC 2006/2007 Trabalho 1: Cifra RSA Implemente em PARI/GP a geração de chaves RSA assim como as primitivas de cifragem e decifragem RSA ...
IdeiasProjectos 27 Feb 2006 - 18:06 - r3 JoseBacelarAlmeida
Projectos Título Enquadramento Orientador Resumo Interface Haskell para GMP ElementosCriptografia0405 ManuelBernardoBarbosa A GMP (GNU ...
LECOMNews0506 24 Feb 2007 - 16:13 - r11 ManuelBernardoBarbosa
Sumário: Entrega de trabalhos práticos. ManuelBernardoBarbosa 6 Jun 2006 Sumário: On Line Certificate Status Protocol (OCSP) e Secure Sockets Layer (SSL) ...
LECOMNews0607 19 Sep 2008 - 13:40 - r7 JoseBacelarAlmeida
Para consultar o exame da época especial, contactar o docente da disciplina. ManuelBernardoBarbosa 20 Set 2007 Os exames de recurso poderão ser cunsultados na ...
LabCom6 19 Jul 2007 - 20:43 - r9 ManuelBernardoBarbosa
Laboratórios de Comunicações 6 MECOM 2006/2007 Notas Notas finais Avisos Entregas Dia 26 de Junho Todos os grupos irão apresentar os projectos ...
MenuTopics 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
CA CriptoBio LECOM MICEI EC Opcao III
OIII0607 19 Sep 2008 - 13:37 - r2 JoseBacelarAlmeida
Projectos de Opção III 2006/2007 Todos os seguintes projectos serão orientados por MBB ou JBA conjuntamente com um elemento da empresa Multicert. Microsoft Office ...
WebArchive 24 Sep 2008 - 18:59 - r2 JoseBacelarAlmeida
MI/MEI Criptografia e Segurança em Sistemas de Informação 2008/2009 LESI/LMCC Criptografia Aplicada 2007/2008 2006/2007 2005/2006 2004 ...
WebChanges 16 Aug 2001 - 19:58 - NEW PeterThoeny?
WebCss 16 Feb 2007 - 20:58 - NEW ManuelBernardoBarbosa
.natRevision { width:0px; height:0px; overflow:hidden; } .natBreadCrumbs { width:0px; height:0px; overflow:hidden; } .natMainFooterContents, .natMainHeaderContents ...
WebHome 19 Sep 2008 - 13:41 - r29 JoseBacelarAlmeida
Team JoseManuelValenca ManuelBernardoBarbosa JoseBacelarAlmeida AlcinoCunha Teaching LESI Criptografia Aplicada Elementos de ...
WebIndex 24 Nov 2001 - 11:41 - r2 PeterThoeny?
See also the faster WebTopicList
WebLeftBar 24 Feb 2007 - 16:01 - r2 ManuelBernardoBarbosa
WebNotify 28 Aug 2004 - 07:30 - r4 PeterThoeny?
This is a subscription service to be automatically notified by e mail when topics change in this Education/Criptografia web. This is a convenient service, so you ...
WebPreferences 26 Feb 2007 - 15:24 - r17 JoseBacelarAlmeida
Education/Criptografia Web Preferences The following settings are web preferences of the Education/Criptografia web. These preferences overwrite the site level ...
WebRss 16 Aug 2004 - 03:27 - r2 PeterThoeny?
TWiki's Education/Criptografia web /view/Education/Criptografia The Education/Criptografia web of TWiki. TWiki is a Web Based Collaboration Platform for the Corporate ...
WebSearch 08 Aug 2001 - 05:26 - NEW PeterThoeny?
WebSearchAdvanced 18 Jan 2004 - 10:52 - NEW PeterThoeny?
WebSideBar 05 Oct 2008 - 21:13 - r8 JoseBacelarAlmeida
Disciplinas Criptografia (Biomédica) CSSI Outras Avisos " else ""}%
WebStatistics 19 Sep 2008 - 13:37 - r331 JoseBacelarAlmeida
Statistics for Education/Criptografia Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for ...
WebTopicList 24 Nov 2001 - 11:40 - NEW PeterThoeny?
See also the verbose WebIndex.
WorkshopSI 15 Feb 2007 - 08:41 - r5 ManuelBernardoBarbosa
Workshop em Segurança da Informação Departamento de Informática da Universidade do Minho 23 de Fevereiro de 2007 Apresentação A Workshop em Segurança de Informa ...
Found 74 topics.

See also the faster WebTopicList

WebLeftBar 24 Feb 2007 - 16:01 - r2 ManuelBernardoBarbosa
WebNotify 28 Aug 2004 - 07:30 - r4 PeterThoeny?
This is a subscription service to be automatically notified by e-mail when topics change in this Education/Criptografia web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your WikiName in alphabetical order to this list:

Web Changes Notification Service

Each TWiki web has an automatic e-mail notification service that sends you an e-mail with links to all of the topics modified since the last alert.

Users subscribe to email notifications using their WikiName or an alternative email address, and can specify the webs/topics they wish to track using one of these bullet list formats:

three spaces * [ webname . ] wikiName - SMTP mail address
three spaces * [ webName . ] wikiName
three spaces * SMTP mail address
three spaces * SMTP mail address : topics
three spaces * [ webname . ] wikiName : topics

In the above examples, topics is a space-separated list of topic names. The user may further customize the specific content they will receive using the following formats:

  • Specify topics without a Web. prefix
  • Topics must exist in this web.
  • Topics may be specified using * wildcards
  • Each topic may optionally be preceded by a '+' or '-' sign. The '+' sign means "subscribe to this topic" (the same as not putting anything). The '-' sign means "unsubscribe" or "don't send notifications regarding this topic". This allows users to elect to filter out certain topics (and their children, to an arbitrary depth). Topic filters ('-') take precedence over topic includes ('+').
  • Each topic may optionally be followed by an integer in parentheses, indicating the depth of the tree of children below that topic. Changes in all these children will be detected and reported along with changes to the topic itself. Note This uses the TWiki "Topic parent" feature.
  • Each topic may optionally be immediately followed by an exclamation mark ! or a question mark ? with no intervening spaces, indicating that the topic (and children if there is a tree depth specifier as well) should be mailed out as complete topics instead of change summaries. ! causes the topic to be mailed every time even if there have been no changes, ? will mail the topic only if there have been changes to it. This only makes sense for subscriptions.

For example: Subscribe Daisy to all changes to topics in this web.

   * daisy.cutter@flowers.com
Subscribe Daisy to all changes in all webs that start with Web.
   * daisy.cutter@flowers.com: Web*
Subscribe Daisy to changes to topics starting with Petal, and their immediate children, WeedKillers and children to a depth of 3, and all topics that match start with Pretty and end with Flowers e.g. PrettyPinkFlowers
   * TWiki.DaisyCutter: Petal* (1) TWiki.WeedKillers (3) Pretty*Flowers
Subscribe StarTrekFan to changes to all topics that start with Star except those that end in Wars, sInTheirEyes or shipTroopers.
   * TWiki.StarTrekFan: Star* - *Wars - *sInTheirEyes - *shipTroopers
Subscribe Daisy to the full content of NewsLetter whenever it has changed
   * daisy@flowers.com: TWiki.NewsLetter?
Subscribe buttercup to NewsLetter and its immediate children, even if it hasn't changed.
   * buttercup@flowers.com: TWiki.NewsLetter! (1)
Subscribe GardenGroup (which includes Petunia) to all changed topics under AllnewsLetters to a depth of 3. Then unsubscribe Petunia from the ManureNewsLetter, which she would normally get as a member of GardenGroup? :
   * TWiki.GardenGroup: TWiki.AllNewsLetters? (3)
   * petunia@flowers.com: - TWiki.ManureNewsLetter
A user may be listed many times in the WebNotify topic. Where a user has several lines in WebNotify that all match the same topic, they will only be notified about changes that topic once (though they will still receive individual mails for news topics).

If a TWiki group is listed for notification, the group will be recursively expanded to the e-mail addresses of all members.

TIP Tip: List names in alphabetical order to make it easier to find the names.

Note for System Administrators: Notification is supported by an add-on to the TWiki kernel called the MailerContrib. See the MailerContrib topic for details of how to set up this service.

Note: If you prefer a news feed, point your reader to WebRss (for RSS 1.0 feeds) or WebAtom? (for ATOM 1.0 feeds). Learn more at WebRssBase and WebAtomBase, respectively.

Related topics: WebChangesAlert, TWikiUsers, TWikiRegistration

WebPreferences 26 Feb 2007 - 15:24 - r17 JoseBacelarAlmeida

Education/Criptografia Web Preferences

The following settings are web preferences of the Education.Criptografia web. These preferences overwrite the site-level preferences in TWikiPreferences, and can be overwritten by user preferences (your personal topic, eg: TWikiGuest in the Main web).

Preferences:

  • Set SKIN=nat

  • Set SKINSTYLE = Plain
  • Set STYLEBORDER = thin
  • Set STYLEBUTTONS = off
  • Set STYLESIDEBAR = left
  • Set STYLEVARIATION = none
  • Set STYLESEARCHBOX = off

  • Set WEBTITLE = Criptografia @ DIUM/CCTC
  • Set PAGETITLE = Criptografia @ DIUM/CCTC
  • Set NATWEBLOGO = Criptografia @ DIUM/CCTC
  • Set WEBLOGOURL = WebHome
  • Set WEBLOGOIMG =
  • Set WEBLOGOALT = Criptografia @ DIUM/CCTC

  • Set SITEMAPUSETO =

  • Set WEBCOPYRIGHT = This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.

  • List of topics of the TWiki.Education/Criptografia web:

  • Web specific background color: (Pick a lighter one of the StandardColors)
    • Set WEBBGCOLOR = #99CC00

  • List this web in the SiteMap:
    • If yes, set SITEMAPLIST to on, do not set NOSEARCHALL, and add the "what" and "use to..." description for the site map. Make sure to list only links that include the name of the web, e.g. Education/Criptografia.Topic links.
    • Set SITEMAPLIST = on
    • Set SITEMAPWHAT = Criptografia @ DI
    • Set SITEMAPUSETO =

  • Exclude web from a web="all" search: (Set to on for hidden webs)
    • Set NOSEARCHALL =

  • Prevent automatic linking of WikiWords and acronyms (if set to on); link WikiWords (if empty); can be overwritten by web preferences:
    • Set NOAUTOLINK =
    • Note: Use the [[...][...]] syntax to link topics in case you disabled WikiWord linking. The <noautolink> ... </noautolink> syntax can be used to prevents links within a block of text.

  • Default template for new topics and form(s) for this web:
    • WebTopicEditTemplate? : Default template for new topics in this web. (Site-level is used if topic does not exist)
    • TWiki.WebTopicEditTemplate: Site-level default template
    • TWikiForms: How to enable form(s)
    • Set WEBFORMS =

  • Web preferences that are not allowed to be overridden by user preferences:
    • Set FINALPREFERENCES = NOSEARCHALL, ATTACHFILESIZELIMIT, WIKIWEBMASTER, WEBCOPYRIGHT, WEBTOPICLIST, DENYWEBVIEW, ALLOWWEBVIEW, DENYWEBCHANGE, ALLOWWEBCHANGE, DENYWEBRENAME, ALLOWWEBRENAME

Notes:

  • A preference is defined as:
    6 spaces * Set NAME = value
    Example:
    • Set WEBBGCOLOR = #FFFFC0
  • Preferences are used as TWikiVariables by enclosing the name in percent signs. Example:
    • When you write variable %WEBBGCOLOR% , it gets expanded to #99CC00 .
  • The sequential order of the preference settings is significant. Define preferences that use other preferences first, i.e. set WEBCOPYRIGHT before WIKIWEBMASTER since %WEBCOPYRIGHT% uses the %WIKIWEBMASTER% variable.
  • You can introduce new preferences variables and use them in your topics and templates. There is no need to change the TWiki engine (Perl scripts).

Related Topics:

WebRss 16 Aug 2004 - 03:27 - r2 PeterThoeny?
TWiki's Education/Criptografia web http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia The Education/Criptografia web of TWiki. TWiki is a Web-Based Collaboration Platform for the Corporate World. en-us Copyright 2020 by contributing authors TWiki Administrator [webmaster@di.uminho.pt] The contributing authors of TWiki TWiki DIUM.Education/Criptografia http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia /twiki/pub/Main/LocalLogos/um_eengP.jpg CSSI0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSSI0809 Criptografia e Segurança de Sistemas de Informação Edição 2008/2009 2009/2010 (incluindo temas de tese) Equipa Docente José Manuel Valença (TC) Manuel ... (last changed by ManuelBernardoBarbosa) 2009-09-29T17:01:09Z ManuelBernardoBarbosa CSI0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSI0809 Criptografia e Segurança da Informação 2008/2009 Programa Teoria: Introdução: conceitos e terminologia. Cifras simétricas: sequenciais e por blocos ... (last changed by JoseBacelarAlmeida) 2009-07-22T01:44:11Z JoseBacelarAlmeida AvisosCSSI0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/AvisosCSSI0809 13/07: Disponíveis notas de GSI/PSC (secção de Avaliação). 15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação). 03/03: Disponíveis notas finais ... (last changed by ManuelBernardoBarbosa) 2009-07-13T18:34:50Z ManuelBernardoBarbosa CriptografiaBiomedica0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptografiaBiomedica0809 Criptografia 2008 2009 Licenciatura em Engenharia Biomédica (Edição 2006 2007; Edição 2005 2006) Equipa Docente José Carlos Bacelar Almeida (responsável pela ... (last changed by JoseBacelarAlmeida) 2009-07-02T17:11:58Z JoseBacelarAlmeida CriptoBio0809Programa http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptoBio0809Programa Criptografia (MIEBIO) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia Conceitos ... (last changed by JoseBacelarAlmeida) 2009-07-02T16:56:53Z JoseBacelarAlmeida CSSI-PI0809-2 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSSI-PI0809-2 Projecto Integrador Sumários (2º Sem.) MI CSSI (2008/2009) 03/03/2009, 14:00 16:00 Apresentação dos projectos do 2º semestre: Sistema de Armazenamento ... (last changed by JoseBacelarAlmeida) 2009-07-01T16:24:30Z JoseBacelarAlmeida CSSI-PI0809-1 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSSI-PI0809-1 Projecto Integrador Sumários (1º Sem.) MI CSSI (2008/2009) 30/09/2008, 18:00 20:00 Ambiente de Desenvolvimento Utilização do framework JCA/JCE . Continua ... (last changed by JoseBacelarAlmeida) 2009-07-01T15:49:03Z JoseBacelarAlmeida CSI0809Programa http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSI0809Programa Criptografia e Segurança da Informação (UCE CSSI) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia ... (last changed by JoseBacelarAlmeida) 2009-07-01T11:30:37Z JoseBacelarAlmeida ElementosCriptografia0506 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/ElementosCriptografia0506 Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ... (last changed by JoseBacelarAlmeida) 2009-05-14T23:35:16Z JoseBacelarAlmeida AvisosCriptoBio0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/AvisosCriptoBio0809 03/02/2009: Já estão disponíveis as notas do teste. 12/01/2009: Já está disponível a avaliação prática da disciplina. 30/12/2008: Sessão de defesa dos trabalhos ... (last changed by JoseBacelarAlmeida) 2009-02-04T05:08:43Z JoseBacelarAlmeida CriptoBioT0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptoBioT0809 Criptografia Mestrado Integrado em Engenharia Biomédica Sumários das aulas Teóricas (2008/2009) Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: 25/09 ... (last changed by JoseBacelarAlmeida) 2008-12-13T23:16:09Z JoseBacelarAlmeida CriptoBioTP0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptoBioTP0809 Criptografia Mestrado Integrado em Engenharia Biomédica Guiões das aulas Teórico Práticas 2008/2009 Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: ... (last changed by JoseBacelarAlmeida) 2008-12-11T10:56:57Z JoseBacelarAlmeida CSITP0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSITP0809 Conceitos de Sistemas Criptográficos (TP) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 16:00 18:00 Ambiente de Desenvolvimento O objectivo principal ... (last changed by JoseBacelarAlmeida) 2008-12-07T22:56:31Z JoseBacelarAlmeida CriptografiaBiomedicaProj0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptografiaBiomedicaProj0809 Mini Projecto Prático Descrevem se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais ... (last changed by JoseBacelarAlmeida) 2008-12-05T22:56:47Z JoseBacelarAlmeida CSIT0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSIT0809 Conceitos de Sistemas Criptográficos (T) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 14:00 16:00 Apresentação do Módulo: programa, organizaç ... (last changed by JoseBacelarAlmeida) 2008-11-25T22:26:05Z JoseBacelarAlmeida WebSideBar http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/WebSideBar Disciplinas Criptografia (Biomédica) CSSI Outras Avisos " else ""}% (last changed by JoseBacelarAlmeida) 2008-10-05T21:13:35Z JoseBacelarAlmeida

WebSearch 08 Aug 2001 - 05:26 - NEW PeterThoeny?

Web Search

Search: \.*

Found 0 topics.

  Advanced search | Help
TIP: to search for all topics that contain "SOAP", "WSDL", a literal "web service", but not "shampoo", write: soap wsdl "web service" -shampoo
Search where:       
(otherwise search Education/Criptografia Web only)

Other search options:
WebSearchAdvanced 18 Jan 2004 - 10:52 - NEW PeterThoeny?

Advanced Search

Search: \.*

Education/Criptografia Web Changed Changed by
AvisosCSSI0809 13 Jul 2009 - 18:34 - r10 ManuelBernardoBarbosa
13/07: Disponíveis notas de GSI/PSC (secção de Avaliação).

15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação).

03/03: Disponíveis notas finais do módulo de CSI.

07/02: Data/Hora do teste de CSSI -- 10/02/2009 às 16:00.

12/01: As apresentações de PI de 3ª (13/01) terão início às 14:30.

12/01: Disponível avaliação prática de CSI.

19/12: As entregas/apresentações dos segundos projectos de PI ficam marcadas para o dia 13 de Janeiro pelas 14:00.

19/12: As aulas de reposição do módulo de SSI serão no dia 6 de Janeiro às 14:00.

10/11: Nova versão dos slides de técnicas criptográficas.

21/10: Já está disponível a primeira parte dos apontamentos do módulo de técnicas criptográficas.

05/10: A aula de TC no dia 07/10 começa somente às 10:00.

AvisosCriptoBio0809 04 Feb 2009 - 05:08 - r6 JoseBacelarAlmeida
03/02/2009: Já estão disponíveis as notas do teste.

12/01/2009: Já está disponível a avaliação prática da disciplina.

30/12/2008: Sessão de defesa dos trabalhos será a 06/01/2009, pelas 10:00. A data limite para entrega (por email) é às 0:00 de 05/01/2009.

24/09/2008: Versão recomendada do Eclipse: Eclipse IDE for Java EE Developers (162 MB)

CANewS0506 19 Sep 2008 - 13:24 - r10 JoseBacelarAlmeida

  • Para consultar os exames, contactar docente na segunda feira dia 6 de Fevereiro entre as 14 e as 15 horas. -- ManuelBernardoBarbosa - 2 Fev 2006

  • As entregas dos trabalhos práticos terão lugar na 6a Feira dia 6 de Janeiro. A partir de 3a Feira dia 27 de Dezembro estará disponível na recepção do DI uma folha de inscrições. Cada docente receberá os trabalhos dos alunos do seu turno (em caso de grupos mistos é indiferente).

  • Alteração nos horários: Aula teórica (2a 14-16), TP1 (2a 16-18), TP2 (2a 18-20). -- ManuelBernardoBarbosa - 21 Sep 2005

CANews0405 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
  • A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da tarde. -- ManuelBernardoBarbosa - 19 Jan 2005

CANews0607 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Para consultar os exames da época especial, contactar mbb. -- -- ManuelBernardoBarbosa - 20 Set 2007

Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre as 15 e as 16. -- ManuelBernardoBarbosa - 27 Feb 2007

Consultas a exames: 2a Feira dia 5 de Fevereiro entre as 14 e as 15. -- ManuelBernardoBarbosa - 01 Feb 2007

Datas de entrega na primeira semana de Janeiro

Lista dos grupos inscritos para entregar o trabalho. -- ManuelBernardoBarbosa - 06 Dec 2006

As entregas dos trabalhos práticos terão lugar nas semanas antes e depois das férias do Natal. Até ao final de Novembro todos os grupos deverão enviar um e-mail indicando a sua constituição e a sua preferência quanto à semana da entrega e apresentação do trabalho. -- ManuelBernardoBarbosa - 13 Nov 2006

Não haverá aula teórica na 2a feira dia 20 de Novembro. -- ManuelBernardoBarbosa - 13 Nov 2006

-- ManuelBernardoBarbosa - 28 Dec 2006

CANews0708 19 Sep 2008 - 13:24 - r18 JoseBacelarAlmeida
22-02-2008 Já estão disponíveis as notas do exame de recurso.

DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2-105).

28-01-2008 Já estão disponíveis as notas do 2º teste.

18-01-2008 A direcção de curso confirmou a data de 23-01-2008 (9:00, CP2111) para o teste de CA.

14-01-2008 Notas dos Mini-Projectos.

26-12-2007 Notas do teste intermédio.

27-11-2007 Já está disponível o enunciado do projecto prático.

20-11-2007 Estão disponíveis dois novos mini-projectos (aqui).

08-11-2007 O teste intermédio será no dia 13 de Novembro (3a-feira) às 17:00 - sala CP1206.

16-10-2007 Já está disponível o enunciado do primeiro mini-projecto (aqui).

16-10-2007 O teste intermédio será na semana de 12 a 17 de Novembro. O teste final na semana de 21 a 26 de Janeiro.

08-10-2007 As listas de inscritos nos turnos práticos encontram-se aqui.

20-09-2007 As notas da época especial estão disponíveis no site do ano anterior.

18-09-2007 Dado que ainda estão a decorrer exames de disciplinas de LESI, não haverá aula de CA hoje (18-09-2007).

CSI0809 22 Jul 2009 - 01:44 - r14 JoseBacelarAlmeida

Criptografia e Segurança da Informação

2008/2009


Programa

Teoria:

  • Introdução: conceitos e terminologia.
  • Cifras simétricas: sequenciais e por blocos.
  • Funções de Hash criptográficas e Códigos de Autenticação.
  • Criptografia assimétrica: acordo de chaves; cifras de chave pública; assinaturas digitais; certificados digitais.

Prática:

  • Utilização do framework JCA/JCE.
  • Características de segurança do Java.

Programa Detalhado

Avaliação

  • Teste final (50%)
  • Trabalhos práticos (50%)

Avaliação Prática

Nome Nota Prática Teste Recurso Nota Final
Afonso Arriaga 14 16.9 - 16
Bruno Gomes 17 10.7 - 14
Eloi Machado 11 11.5 - 11
Henrique Castro 16 17.3 - 17
Hugo Seixas 13 13.3 - 13
Humberto Longo 14.2 13.8 - 14
João Ferreira 17 12.8 - 15
Manuel Costa 17 13.2 - 15
Mário Costa 9 10 - 10
Marta Fernandes 15 14.1 - 15
Miriam Dias 15 14.8 - 15
Nuno Macedo 17 17.9 - 18
Pedro Pereira 9 - 11 10
Ricardo Coelho 16 17.8 - 17
Sandra Teixeira 14 18.9 - 17
Tiago Fernandes 15 11 - 13
Vicente Fernandes 15 18.3 - 17

Avaliação Teórica

  • Teste (10/02/2009 - 16:00)

Material Disponibilizado

Componente Laboratorial

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press 2001.
  • Java Cryptography, Jonathan Knudsen, O'Reilly 1998.


CSI0809Programa 01 Jul 2009 - 11:30 - NEW JoseBacelarAlmeida

Criptografia e Segurança da Informação (UCE CSSI)

Programa detalhado (2008/2009)

Teórica

  • Introdução e Terminologia
    • Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Classificação de Ataques
    • Apresentação de Técnicas Criptográficas
  • Técnicas Criptográficas Simétricas
    • Cifras sequenciais
      • Cifras síncronas e auto-sincronizáveis
      • Utilização de LFSRs
      • RC4
    • Cifras por blocos
      • Modos de Operação
      • Estrutura interna: propriedades de "difusão" e "confusão"; redes S-P; circuitos de Feistel
      • DES
      • AES
      • Noções de criptoanálise
  • Funções de sentido único
    • Breves noções de teoria da complexidade
    • Funções de sentido único
    • Funções de Hash criptográficas
      • Propriedades
      • Aplicações (HMAC; PRNG)
      • Estrutura interna tipica: funções de compressão; construção de Merkle-Damgard.
      • MD5
      • SHA1
  • Criptografia Assimétrica
    • Motivação e noções de teoria de números
    • Distribuição e acordo de chaves
    • Protocolo Diffie-Hellman
    • Ataque man-in-the-middle
    • Criptografia de chave pública
      • Trapdoor-permutation
      • Utilização como cifra: envelope digital
      • Utilização como assinatura.
      • Ataque man_in_the_middle
      • RSA e RSA-OAEP
      • El-Gamal
      • DSA
  • Certificação
    • Certificados de Chave Pública
    • Utilização nas operações de cifra e assinatura
    • Protocolo Station-to-Station

Teórico-Prática

  • Java Cryptography Architecture
    • Princípios e Arquitectura
    • Serviços Básicos
    • Extensibilidade
  • Open SSL
    • Geração de certificados
CSIT0809 25 Nov 2008 - 22:26 - r3 JoseBacelarAlmeida

Conceitos de Sistemas Criptográficos (T) - Sumários

MI-CSSI (2008/2009)


Aula 1 - 30/09/2008, 14:00 - 16:00

Apresentação do Módulo: programa, organização das aulas, critério de avaliação, referências bibliográficas.

Conceitos básicos e terminologia: criptografia, cripto-análise, segurança da informação. Breve apresentação das técnicas criptográficas modernas.


Aula 2 - 07/10/2008, 14:00 - 16:00

Cifras simétricas Sequenciais: características; cifras sequenciais síncronas e auto-sincronizáveis. Exemplos de cifras sequenciais: A5/1, RC4.

Cifras simétricas por Blocos: características; modos de operação (ECB, CBC, OFB, CFB, CTM).


Aula 3 - 14/10/2008, 14:00 - 16:00

Apresentação detalhada das cifras por Blocos DES e AES. Referência a técnicas cripto-análise.

Funções de Sentido Único: conceito e construções básicas. Funções de Hash Criptográficas: desenho e exemplos (MD5, SHA-1). Aplicações de funções de hash em geradores de números aleatórios; key generation functions.


Aula 4 - 21/10/2008, 14:00 - 16:00

Criptografia Assimétrica: motivação e apresentação do conceito. Protocolo de acordo de chaves Diffie-Hellman e análise de segurança perante adervesários passivos e activos. Cifras de Chave Pública e envelopes digitais. Assinaturas Digitais.


Aula 5 - 28/10/2008, 14:00 - 16:00

Algoritmos de criptografia assimétrica: problemas matemáticos utilizados na construção de funções de sentido único com segredo. Exemplos de algoritmos: RSA, El-Gamal, DSA.

Certificação e Public Key Infrastructure: estrutura dos cretificados X509; processo de pedido de certificados; utilização de certificados para assinatura digital e envelopes digitais; regogação (CRL). Esquemas alternativos/complementares de certificação (certificados de atributos; rede de confiança PGP; SPKI/SDSI).


CSITP0809 07 Dec 2008 - 22:56 - r8 JoseBacelarAlmeida

Conceitos de Sistemas Criptográficos (TP) - Sumários

MI-CSSI (2008/2009)


Aula 1 - 30/09/2008, 16:00 - 18:00

Ambiente de Desenvolvimento

O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento Java que será utilizado durante o curso.

Como actividade de programação (para experimentar o ambiente escolhido), deve desenvolver uma pequena aplicação que leia um ficheiro de texto (nome do ficheiro passado como argumento), e escreva para stdout o seu conteúdo com todas as letras maiúsculas.


Aula 2 - 07/10/2008, 16:00 - 18:00

Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir um pequeno programa Java que permita cifrar/decifrar um ficheiro utilizando uma cifra simétrica (e.g. AES no modo CBC). A sua forma de utilização pode ser análoga a:

      prog -genkey <keyfile>
      prog -enc <keyfile> <infile> <outfile>
      prog -dec <keyfile> <infile> <outfile>

Sugestões:

  • Para simplificar, pode começar por utilizar uma cifra mais simples (e.g. RC4) e uma chave secreta fixa definida no código na forma de um array de bytes (i.e. implementar somente as opções -enc e -dec). Nesse caso, deverá utilizar a classe SecretKeySpec para a converter para o formato adequado.
  • Um segundo passo deverá consistir na implementação da opção -genkey. Aí surge o problema de guardar a chave no sistema de ficheiros: vamos começar por adoptar a solução mais simples (e insegura) - guardar a chave directamente num ficheiro.
  • Por último, iremos guardar a chave num contentor apropriado (protegido por uma password). Para tal devemos utilizar uma KeyStore disponibilizada pela JCA que permita o armazenamento de chaves secretas (tipo "JCEKS" ou "PKCS12").

Algumas classes relevantes:


Aula 3 - 14/10/2008, 16:00 - 18:00

Aplicação de Cifra

Pretende-se adaptar a aplicação desenvolvida para responder aos seguintes requisitos:

  • O objectivo é fazer uso da aplicação para cifrar um conjunto de ficheiros (potencialmente grandes);
  • A chave utilizada nessas operações de cifra deve estar devidamente protegida;
  • Se algum dos ficheiros cifrados for manipulado (alterado), o programa deverá detectar essa ocorrência ao decifrar.


Aula 4 - 21/10/2008, 16:00 - 18:00

Acordo de Chaves

As classes Cliente, Servidor e TServidor implementam uma aplicação que permite a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]

Pretende-se:

  1. Modificar as respectivas classes por forma a garantir a confidencialidade nas comunicações estabelecidas. Para o efeito, deverá considerar a cifra/modo que considerar mais apropriado.
  2. Estabelecer o segredo através da execução do protocolo de acordo de chaves Diffie-Hellman. Para o efeito deverá utilizar:
    • Classe AlgorithmParameterGenerator para gerar os parâmetros P e G do algoritmo;
    • Classe KeyPairGenerator para gerar os pares de chaves ( (x, g^x) e (y,_g^y_) para cada um dos intervenientes);
    • Classe KeyAgreement que implementa o protocolo propriamente dito.

(obs.: No JCA Reference Guide está disponível um exemplo com a codificação do protocolo Diffie-Hellman.)

Algumas classes relevantes:


Aula 5 - 28/10/2008, 16:00 - 18:00

Protocolo Sation to Station

Pretende-se complementar o programa com o acordo de chaves Diffie-Hellman para incluir a funcionalidade análoga à do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma troca de assinaturas:

  1. Alice -> Bob : g^x
  2. Alice <- Bob : g^y, SB(g^x, g^y)
  3. Alice -> Bob : SA(g^x, g^y)

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:


CSSI-PI0809-1 01 Jul 2009 - 15:49 - r4 JoseBacelarAlmeida

Projecto Integrador - Sumários (1º Sem.)

MI-CSSI (2008/2009)


30/09/2008, 18:00 - 20:00

Ambiente de Desenvolvimento

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 1 de CSI.


07/10/2008, 18:00 - 20:00

Cifra de ficheiro utilizando JCA/JCE

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 2 de CSI.


14/10/2008, 18:00 - 20:00

Aplicação de Cifra

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 3 de CSI.


21/10/2008, 18:00 - 20:00

Acordo de Chaves

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 4 de CSI.


28/11/2008, 18:00 - 20:00

Protocolo Sation to Station

Utilização do framework JCA/JCE. Continuação da sessão laboriatorial 5 de CSI.


04/11/2008, 09:00 - 13:00, 14:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 1.


11/11/2008, 09:00 - 13:00, 14:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 1.


18/11/2008, 18:00 - 20:00

Apresentação das propostas para Projecto-2:

  • Codificação de um protocolo 1-out-n oblivious transfer
  • Codificação de esquema Publicly Verifiable Secret Sharing
  • Biblioteca para Criptografia baseada em Curvas Elípticas em NTL
  • Módulo PAM para atenticação por SMS
  • Sistema de ficheiros TrueCrypt
  • Explorar o MetaSploit
  • Utilização de HoneyPots


25/11/2008, 18:00 - 20:00

Escolha/atribuição dos projectos aos grupos de trabalho.


02/12/2008, 18:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


09/12/2008, 18:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


16/12/2008, 18:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


06/01/2008, 09:00 - 13:00, 14:00 - 20:00

Desenvolvimento/acompanhamento do Projecto 2.


13/01/2008, 09:00 - 13:00, 14:00 - 20:00

Apresentações do Projecto 2.



20/01/2008, 14:00 - 20:00

Demonstração/discussão do Projecto 1.


27/01/2008, 14:00 - 20:00

Demonstração/discussão do Projecto 1.


CSSI-PI0809-2 01 Jul 2009 - 16:24 - NEW JoseBacelarAlmeida

Projecto Integrador - Sumários (2º Sem.)

MI-CSSI (2008/2009)


03/03/2009, 14:00 - 16:00

Apresentação dos projectos do 2º semestre:

  • Sistema de Armazenamento Seguro
  • Desenvolvimento de um compilador de alto nível para software criptográfico
  • Provas de Segurança em Coq
  • Implementação eficiente de propostas ao SHA-3
  • Especificar e Verificar propriedades de segurança em software …
  • Implementação de Algorítmos de Anonimização
  • Modelo de um computador Quântico em Haskell
  • Implementação de Esquemas Criptográficos Pós-Quanticos
  • Explorar o CryptoVerif em provas de Conhecimento Zero


10/03/2009, 14:00 - 16:00

Escolha/atribuição dos projectos aos grupos de trabalho.


17/03/2009, 14:00 - 16:00

Acompanhamento dos projectos.


24/03/2009, 14:00 - 16:00

Acompanhamento dos projectos.


31/03/2009, 14:00 - 16:00

Acompanhamento dos projectos.


21/04/2009, 14:00 - 16:00

Acompanhamento dos projectos.


28/04/2009, 14:00 - 16:00

Acompanhamento dos projectos.


05/05/2009, 14:00 - 16:00

Acompanhamento dos projectos.


12/05/2009, 14:00 - 16:00

Tolerância de ponto (enterro da gata)


19/05/2009, 14:00 - 16:00

Acompanhamento dos projectos.


26/05/2009, 14:00 - 16:00

Acompanhamento dos projectos.


02/06/2009, 14:00 - 16:00

Acompanhamento dos projectos.


09/06/2009, 14:00 - 16:00

Acompanhamento dos projectos.


16/06/2009, 09:00 - 13:00, 14:00 - 20:00

Acompanhamento dos projectos.


23/06/2009, 09:00 - 13:00, 14:00 - 20:00

Acompanhamento dos projectos.


14/07/2009, 14:00 - 19:00

Apresentações dos projectos do 2º semestre.


CSSI0708 19 Sep 2008 - 13:24 - r5 JoseBacelarAlmeida

CSSI - Edição 2007-2008


Equipa Docente

  • Manuel Bernardo Barbosa
  • Manuel Valença
  • José Bacelar Almeida
  • Victor Francisco Fonte
  • Rui Carlos Oliveira

Conteúdos

  • Segurança de Sistemas Informáticos (SSI) - 1º Semestre
    • Tópicos de programação segura com ênfase no dimensionamento de privilégios, protecção de dados, stack e sandbox de execução.
    • Técnicas, ferramentas e boas práticas de administração na operação segura de sistemas informáticos.
    • Perímetros de segurança como elementos estruturantes na no comparticionamento de acesso e protecção dos recursos do sistema.
    • Redundância, fail-over, salvaguarda e reposição de dados e serviços como técnicas para melhoria da disponibilidade e segurança de operação de sistemas informáticos.
    • Análise forense aplicada à detecção e avaliação de situações de comprometimento de segurança de sistemas.

  • Criptografia e Segurança da Informação (CSI) - 1º Semestre
    • Conceitos fundamentais da criptografia moderna.
    • Introdução às primitivas, esquemas e protocolos criptográficos mais relevantes como blocos construtivos de funcionalidades de segurança em sistemas informáticos.
    • Certificação digital e a utilização de Infrastruturas de Chave Pública.
    • Aplicações correntes/comerciais da criptografia.

  • Projecto Integrado - 1º e 2º Semestres

  • Seminário/Gestão da Segurança da Informação (Sem+GSI) - 1º e 2º Semestres
    • Aspectos legais da segurança da informação.
    • Privacidade e protecção de dados pessoais.
    • Gestão da confiança.
    • Auditoria e acreditação de segurança.

  • Técnicas Criptográficas - 2º Semestre
    • Noções fundamentais da criptografia: computabilidade, conhecimento e aleatoriedade, confiança e provas probabilísticas.
    • Teoria matemática básica: estruturas algébricas relevantes e teoria dos números.
    • Primitivas criptográficas: cifras e sua criptoanálise, sistemas de chave pública, sistemas orientados à identidade.
    • Esquemas criptográficos: modelos e provas de segurança.

  • Paradigmas de Sistemas Confiáveis - 2º Semestre
    • Modelos de faltas
    • Coordenação distribuída
    • Paradigma transaccional
    • Comunicação em grupo fiável
    • Replicação por software

Critério de Avaliação

A avaliação final da UCE é composta pelas seguintes componentes (todas com nota mínima de 10 valores):

  • Teste escrito (60%)
  • Avaliação do Projecto (30%)
  • Seminário (10%)

Teste escrito

No final de cada periodo lectivo (semestre) é realizado um teste escrito. Esses testes são divididos em duas partes, versando cada uma delas os conteúdos dos módulos leccionados. No final do ano é oferecida a possibilidade de realizar um exame de recurso, podendo aí o aluno escolher que componentes (módulos) pretende repetir.

  • Teste do 1º Semestre (AS+CSI)
  • Teste do 2º Semestre (TC+PSC)
  • Exame Recurso (AS+CSI+TC+PSC)

Projecto Integrador

A avaliação do Projecto Integrador é realizada em dois tempos:

  • Final do primeiro semestre;
  • Final do ano.
A apresentação do projecto será acompanhada por um relatório

Seminário

  • Monografia;
  • Apresentação (20min.)

Horário 1º Semestre

Módulo Tipo Horário Docente
AS T+TP 3a Feira das 10:00 às 13:00 (DI 1.08) Victor Francisco Fonte
CSI T 3a Feira das 14:00 às 16:00 (DI A2) José Bacelar Almeida
CSI+PI TP+P 3a Feira das 16:00 às 18:00 (DI - 1.04) José Bacelar Almeida
PI+Sem P+Sem 3a Feira das 18:00 às 20:00 (DI - 1.08) Manuel Bernardo Barbosa

CSSI0809 29 Sep 2009 - 17:01 - r19 ManuelBernardoBarbosa

Criptografia e Segurança de Sistemas de Informação

Edição 2008/2009

Edição 2009/2010 (incluindo temas de tese)


Equipa Docente

  • José Manuel Valença (TC)
  • Manuel Bernardo Barbosa (CSI/GSI, PI)
  • José Carlos Bacelar Almeida (CSI/GSI, PI)
  • Rui Carlos Oliveira (PSC)
  • Victor Francisco Fonte (SSI)

Módulos Temáticos

Designação Sigla ECTS
Técnicas Criptográficas TC 10
Criptografia e Segurança da Informação CSI 3
Segurança de Sistemas Informáticos SSI 3
Gestão da Segurança da Informação GSI 3
Paradigmas de Sistemas Confiáveis PSC 3
Projecto Integrador PI 8

Material Pedagógico

Horário de Funcionamento

As actividades lectivas da UCE decorrem às terças-feiras, nos seguintes blocos lectivos:

bloco1 09:00 - 13:00
bloco2 14:00 - 18:00
bloco3 18:00 - 20:00

Ao distribuição dos módulos temáticos ao longo dos semestres será:

1º Semestre
Semana bloco1 bloco2 bloco3
1 - 5 TC CSI/GSI PI
6, 7 PI PI PI
8 - 13 TC SSI PI
14, 15 PI PI PI

2º Semestre
Semana bloco1 bloco2 bloco3
1 - 5 TC CSI/GSI PI
6, 7 PI PI PI
8 - 13 TC PSC PI
14, 15 PI PI PI

Avaliação

Cada módulo temático distribui o peso correspondente na avaliação final nos seguintes elementos de avaliação:

  • Componente teórica: teste no final de cada semestre;
  • Componente prática: avaliação continua das aulas TP e/ou realização de trabalho prático;
  • Seminário: elaboração de pequenos relatórios/resumos sobre palestras e/ou realização de apresentações sobre um tema dado.

Alunos Inscritos

(lista provisória)

Nome Login
João Pedro Soares da Silva Ferreira JoaoFerreira
Mário Ulisses Pires Araújo Costa MarioCosta
Pedro Miguel Dias Pereira PedroPereira
Humberto Domingues Mota Longo HumbertoLongo
Vicente Machado Fernandes VicenteFernandes
Miriam Isabel Teixeira Abreu Dias MiriamDias
Marta Rodrigues Fernandes MartaFernandes
Sara Joana Gomes Costa Oliveira SaraOliveira
Afonso Delerue Arriaga AfonsoArriaga
Manuel Filipe Pedrosa Costa ManuelCosta
Bruno Ferreira da Rocha de Lima Gomes BrunoGomes
Nuno Filipe Moreira Macedo NunoMacedo
Eloi Luiz Machado EloiMachado
André dos Santos L. Gomes AndreGomes
Hugo Seixas HugoSeixas
Vasco Almeida Ferreira VascoFerreira
Rami Galil Shashati RamiShashati
Tiago Miguel Soares Fernandes TiagoFernandes
Henrique Manuel Fernandes de Castro HenriqueCastro
Ricardo Jorge Oliveria Tching Magalhães Coelho RicardoCoelho
Sandra Raquel Costa Teixeira SandraTeixeira
CriptoBio0809Programa 02 Jul 2009 - 16:56 - NEW JoseBacelarAlmeida

Criptografia (MIEBIO)

Programa detalhado (2008/2009)

Teórica

  • Introdução e Terminologia
    • Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Classificação de Ataques
    • Apresentação de Técnicas Criptográficas
  • Técnicas Criptográficas Simétricas
    • Cifras sequenciais
      • Cifras síncronas e auto-sincronizáveis
      • Utilização de LFSRs
      • RC4
    • Cifras por blocos
      • Modos de Operação
      • Estrutura interna: propriedades de "difusão" e "confusão"; redes S-P; circuitos de Feistel
      • DES
      • AES
      • Noções de criptoanálise
  • Funções de sentido único
    • Breves noções de teoria da complexidade
    • Funções de sentido único
    • Funções de Hash criptográficas
      • Propriedades
      • Aplicações (HMAC; PRNG)
      • Estrutura interna tipica: funções de compressão; construção de Merkle-Damgard.
      • MD5
      • SHA1
  • Criptografia Assimétrica
    • Motivação e noções de teoria de números
    • Distribuição e acordo de chaves
    • Protocolo Diffie-Hellman
    • Ataque man-in-the-middle
    • Criptografia de chave pública
      • Trapdoor-permutation
      • Utilização como cifra: envelope digital
      • Utilização como assinatura.
      • Ataque man_in_the_middle
      • RSA e RSA-OAEP
      • El-Gamal
      • DSA
  • Certificação
    • Certificados de Chave Pública
    • Utilização nas operações de cifra e assinatura
    • Protocolo Station-to-Station

Teórico-Prática

  • Java Cryptography Architecture
    • Princípios e Arquitectura
    • Utilização dos Serviços Básicos
  • Open SSL
    • Geração de certificados
CriptoBioNews0607 24 Sep 2008 - 18:59 - r4 JoseBacelarAlmeida
Já estão disponíveis as notas da época normal -- ManuelBernardoBarbosa - 30 Jan 2007

Site criado. -- ManuelBernardoBarbosa - 21 Sep 2006

CriptoBioT0809 13 Dec 2008 - 23:16 - r6 JoseBacelarAlmeida

Criptografia

Mestrado Integrado em Engenharia Biomédica

Sumários das aulas Teóricas (2008/2009)


Aula 1: 18/09/2008

Apresentação da disciplina.


Aula 2: 25/09/2008

Conceitos básicos e terminologia.


Aula 3: 02/10/2008

Cifras sequenciais: apresentação do conceito; cifras sequenciais síncronas e auto-sincronizáveis; alguns exemplos concretos (A5-1; RC4).


Aula 4: 09/10/2008

Cifras por blocos: descrição genérica e modos de operação (ECB, CBC, OFB, CFB, CTM).


Aula 5: 16/10/2008

Jornadas de Engenharia Biomédica. (tolerância de ponto)


Aula 6: 23/10/2008

Cifras por blocos: aspectos de implementação e apresentação de algoritmos concretos (DES, AES).


Aula 7: 30/10/2008

Funções de sentido único e aplicações (funções de hash criptográficas; funções de derivação de chaves)


Aula 8: 06/11/2008

Criptografia Assimétrica: motivação e apresentação do conceito. Protocolo de acordo de chaves Diffie-Hellman.


Aula 9: 13/11/2008

Criptografia Assimétrica: cifras de chave pública; assinaturas digitais; necessidade de um mecanismo de certificação.



Aula 10: 20/11/2008

Algoritmos de chave pública: RSA, El-Gamal, DSA.


Aula 11: 27/11/2008

Certificados de chave pública X509: estrutura; cadeias de certificação; procedimento de validação; revogação (CRLs).


Aula 12: 04/12/2008

Protocolos criptográficos e outras aplicações correntes da criptografia: SSL/TLS; SSH; PGP; S/MIME.


Aula 13: 11/12/2008

Geração de certificados de chave pública utilizando o openssl.


Aula 14: 18/12/2008

Configuração do servidor Apache no modo de autenticação mútua do protocolo SSL.


Aula 15: 08/01/2009

Apresentação dos trabalhos práticos.


CriptoBioTP0809 11 Dec 2008 - 10:56 - r15 JoseBacelarAlmeida

Criptografia

Mestrado Integrado em Engenharia Biomédica


Guiões das aulas Teórico-Práticas 2008/2009


Aula 1: 18/09/2008

Apresentação da disciplina.


Aula 2: 25/09/2008

Objectivos:

  • Instalação do IDE recomendado (Eclipse JEE);
  • Execução de programa elementar;
  • Apontadores WEB com material de Referência e Tutorials.

Transcreva para o editor do Eclipse, compile e execute o seguinte programa:

/**
 * The TWiki.HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class TWiki.HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

Leia a secção do Java Tutorial referente a este exemplo. Consulte também a documentação referente ao método println (a que classe pertence?).

Para se realizarem programas minimamente interessantes, é necessário conhecer um conjunto básico de conceitos e de classes da biblioteca standard (secções Learning the Java Language e Essential Java Classes)


Aula 3: 02/10/2008

Pretende-se realizar uma pequena aplicação java com a seguinte funcionalidade:

  • O utilizador, ao invocar o programa, passa também como argumento um nome de um ficheiro de texto fich;
  • O programa deverá gravar um novo ficheiro fich.out em que converte todas as letras minúsculas em maiúsculas;
  • No final, deverá imprimir no écran o número total de caracteres e linhas processadas.

Algumas classes relavantes:


Aula 4: 09/10/2008

Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir um pequeno programa Java que permita cifrar/decifrar um ficheiro utilizando uma cifra simétrica (e.g. RC4). A sua forma de utilização pode ser análoga a:

      prog -genkey <keyfile>
      prog -enc <keyfile> <infile> <outfile>
      prog -dec <keyfile> <infile> <outfile>

Sugestões:

  • Para simplificar, pode começar por utilizar uma chave secreta fixa, definida no código na forma de um array de bytes. Nesse caso, deverá utilizar a classe SecretKeySpec para a converter para o formato adequado.

Algumas classes relevantes:


Aula 5: 16/10/2008

Jornadas de Engenharia Biomédica. (tolerância de ponto)


Aula 6: 23/10/2008

Continuação da aula de "Cifra de Ficheiro".


Aula 7: 30/10/2008

As classes Cliente, Servidor e TServidor implementam uma aplicação que permite a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]

Pretende-se nesta aula modificar as respectivas classes por forma a garantir a confidencialidade nas comunicações estabelecidas. Escolha para o efeito a cifra/modo que considerar mais apropriado.

Algumas classes relevantes:


Aula 8: 06/11/2008

O objectivo desta aula é implementar o acordo de chaves Diffie-Hellman directamente em Java (sem recorrer ao framework JCA).

  1. Alice,Bob: acordam nos parâmetros P e G
  2. Alice: gera x tal que 0 ≤ x < P
  3. Alice -> Bob : G^x mod P
  4. Bob: gera y tal que 0≤ y < P
  5. Bob -> Alice : G^y mod P
  6. Alice, Bob: segredo acordado K = G^(xy) mod P = (G^x)^y mod P = (G^y)^x mod P

Utilize a classe BigInteger e codifique cada passo do protocolo explicitamente. Pode começar por utilizar os seguintes parâmetros para o grupo (P tem 1024 bit):

P = 99494096650139337106186933977618513974146274831566768179581759037259788798151499814653951492724365471316253651463342255785311748602922458795201382445323499931625451272600173180136123245441204133515800495917242011863558721723303661523372572477211620144038809673692512025566673746993593384600667047373692203583
G = 44157404837960328768872680677686802650999163226766694797650810379076416463147265401084491113667624054557335394761604876882446924929840681990106974314935015501571333024773172440352475358750668213444607353872754650805031912866692119819377041901642732455911509867728218394542745330014071040326856846990119719675

Classes relevantes:


Aula 9: 13/11/2008

(obs: só para quem acabou o programa pedido na aula anterior...)

Pretende-se codificar uma nova versão do protocolo de acordo de chaves Diffie-Hellman que faça exclusivamente uso das funcionalidades oferecidas pela JCA, nomeadamente:

  • Classe AlgorithmParameterGenerator para gerar os parâmetros P e G do algoritmo;
  • Classe KeyPairGenerator para gerar os pares de chaves ( (x, g^x) e (y,_g^y_) para cada um dos intervenientes);
  • Classe KeyAgreement que implementa o protocolo propriamente dito.

Em JCE Reference Guide está disponível um exemplo de codificação desse protocolo.

APIs:


Aula 10: 20/11/2008

Pretende-se complementar o programa com o acordo de chaves Diffie-Hellman para incluir a funcionalidade análoga à do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma troca de assinaturas:

  1. Alice -> Bob : g^x
  2. Alice <- Bob : g^y, SB(g^x, g^y)
  3. Alice -> Bob : SA(g^x, g^y)

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:



Aula 11: 27/11/2008

Continuação da aula anterior.


Aula 12: 04/12/2008

Apresentação dos mini-projectos práticos.


Aula 13: 11/12/2008

Utilização de certificados X509 em Java

Pretende-se certificar as chaves públicas utilizadas no protocolo Station-to-Station com base em certificados X509. Para tal, disponibiliza-se:

  • Certificado de chave pública do Servidor: servidor.crt
  • Chave privada do Servidor (codificada em PKCS8): servidor.pk8
  • Certificado de chave pública do Cliente: cliente.crt
  • Chave privada do Cliente (codificada em PKCS8): cliente.pk8
  • Certificado auto-assinado da autoridade de certificação: ca.crt

A utilização de certificados pressupõe a sua validação. O Java disponibiliza uma API específica que deverá utilizar para o efeito (documentação abaixo). Para facilitar esse estudo recomenda-se o estudo/adaptação de um programa de exemplo que verifica a validade de uma cadeia de certificação: ValidateCertPath.java. Utilizando esse programa, podemos verificar a validade do certificado do servidor através da linha de comando:

java TWiki.ValidateCertPath ca.crt servidor.crt 

Uma segunda questão que surgirá neste trabalho é a manipulação dos formatos das chaves: as chaves privadas correspondentes aos certificados fornecidos estão codificadas num formato standard PKCS8. Para se converter esse formato num objecto Java apropriado terá de se utilizar uma instância da classe KeyFactory. O fragmento de código que se apresenta ilustra esse processo:

        byte[] encodedKey;      // read from file
        TWiki.PKCS8EncodedKeySpec keySpec = new TWiki.PKCS8EncodedKeySpec(encodedKey);
        TWiki.KeyFactory keyFactory = TWiki.KeyFactory.getInstance("RSA");
        TWiki.RSAPrivateKey privKey =
        (TWiki.RSAPrivateKey)keyFactory.generatePrivate(keySpec);

Classes requeridas:

Outra documentação relevante:


Aula 14: 18/12/2008

Geração de Certificados X509

Nesta sessão iremos fazer uso do openssl para construir uma pequena autoridade de certificação.

O processo de emissão de certificados X509 passa pelos seguintes passos:

  1. - O utilizador gera um par de chaves;
  2. - O utilizador produz um "pedido de certificado" que contém a sua identificação e a sua chave pública, que é assinado com a sua chave privada (o que certifica que quem solicita o certificado está na posse da respectiva chave privada);
  3. - A autoridade de certificação valida os dados contidos no certificado e, no caso de certificar positivamente esses dados, emite o certificado de chave pública correspondente.
  4. - O certificado é enviado ao utilizador e, eventualmente, publicado por outros meios (e.g. serviço de directoria).

Para cada um destes passos iremos fazer uso dos comandos respectivos do openssl.

Geração de chaves:

openssl genrsa -out grupoXPTO.key

Para utilizar a chave privada no Java é conveniente converter o seu formato para PKCS8

openssl pkcs8 -topk8 -nocrypt -in grupoXPTO.key -outform der -out grupoXptoPrivKey.der

Geração do pedido de certificado:

openssl req -new -key grupoXPTO.key -out grupoXPTO.csr 

Emissão do certificado: A emissão de certificados é normalmente realizada com o auxílio de scripts que invocam o comando openssl com os argumentos apropriados. Existem duas scripts normalmente utilizadas para este efeito:

  • CA.pl - distribuída com o "openssl".
  • sign.sh - distribuída com o "mod_ssl". Espera encontrar ficheiros ca.key e ca.crt.

Produção de PKCS12: Para certas utilizações (e.g. browsers, leitores de email, etc.) é conveniente encapsularmos o certificado e respectiva chave privada num PKCS12.

openssl pkcs12 -export -chain -CAfile cacert.pem -name TWiki.GrupoXPTO -aes128 -inkey grupoXPTO.key -in grupoXPTO.crt -out TWiki.GrupoXPTO.p12

Verificação dos certificados:

openssl verify -CAfile cacert.pem cert1.crt cert2.crt ...

utilizando este Certificado da autoridade de certificação de raiz.

Apontadores úteis:


Aula 15: 08/01/2008

Apresentação dos trabalhos práticos.


CriptografiaAplicada0405 19 Sep 2008 - 13:24 - r20 JoseBacelarAlmeida
Notícias

  • A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da tarde. -- ManuelBernardoBarbosa - 19 Jan 2005

Education.Criptografia Aplicada 2004-2005


Notas

Exames

Sugestão de Leitura

Equipa Docente

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2as 11-13 e 18-20, 3as 18-20


Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (opcional, mas a ausência de avaliação prática limita a nota teórica a 12 valores)
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho práticos.
    • Os trabalhos serão realizados maioritáriamente nas aulas, por grupos de exactamente 2 alunos.
    • Será necessário elaborar um relatório do trabalho efectuado, bem como efectuar uma apresentação desse relatório.

Programa Resumido

  • Teórica
    • Introdução *Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 14 Sep 2004

CriptografiaAplicada0506 19 Sep 2008 - 13:24 - r23 JoseBacelarAlmeida
Notícias

  • Para consultar os exames, contactar docente na segunda feira dia 6 de Fevereiro entre as 14 e as 15 horas. -- ManuelBernardoBarbosa - 2 Fev 2006

  • As entregas dos trabalhos práticos terão lugar na 6a Feira dia 6 de Janeiro. A partir de 3a Feira dia 27 de Dezembro estará disponível na recepção do DI uma folha de inscrições. Cada docente receberá os trabalhos dos alunos do seu turno (em caso de grupos mistos é indiferente).

  • Alteração nos horários: Aula teórica (2a 14-16), TP1 (2a 16-18), TP2 (2a 18-20). -- ManuelBernardoBarbosa - 21 Sep 2005

Education.Criptografia Aplicada 2005-2006

Edição 2004-2005


Equipa Docente

Horários

Tipo Horário Docente
T 2a Feira das 14:00 às 16:00 (DI - A2) ManuelBernardoBarbosa
TP1 2a Feira das 16:00 às 18:00 (DI - 0.11) AlcinoCunha
TP2 2a Feira das 18:00 às 20:00 (DI - 0.11) ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2a 11:00 - 13:00 16:00-18:00
AlcinoCunha 2a 09:30-11:30 14:00-16:00


Sugestões de leitura

Notas

Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (opcional, mas a ausência de avaliação prática limita a nota teórica a 12 valores)
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho práticos.
    • Os trabalhos serão realizados maioritáriamente nas aulas, por grupos de exactamente 2 alunos.
    • Será necessário elaborar um relatório do trabalho efectuado, bem como efectuar uma apresentação desse relatório.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 23 Feb 2006

CriptografiaAplicada0607 19 Sep 2008 - 13:24 - r32 JoseBacelarAlmeida
Notícias

Para consultar os exames da época especial, contactar mbb. -- -- ManuelBernardoBarbosa - 20 Set 2007

Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre as 15 e as 16. -- ManuelBernardoBarbosa - 27 Feb 2007

Consultas a exames: 2a Feira dia 5 de Fevereiro entre as 14 e as 15. -- ManuelBernardoBarbosa - 01 Feb 2007

Datas de entrega na primeira semana de Janeiro

Lista dos grupos inscritos para entregar o trabalho. -- ManuelBernardoBarbosa - 06 Dec 2006

As entregas dos trabalhos práticos terão lugar nas semanas antes e depois das férias do Natal. Até ao final de Novembro todos os grupos deverão enviar um e-mail indicando a sua constituição e a sua preferência quanto à semana da entrega e apresentação do trabalho. -- ManuelBernardoBarbosa - 13 Nov 2006

Não haverá aula teórica na 2a feira dia 20 de Novembro. -- ManuelBernardoBarbosa - 13 Nov 2006

-- ManuelBernardoBarbosa - 28 Dec 2006

Criptografia Aplicada 2006-2007

(Edição 2005-2006, Edição 2004-2005)


Notas

Equipa Docente

Horários

Tipo Horário Docente
T 2a Feira das 14:00 às 16:00 (CP2 - 1.04) ManuelBernardoBarbosa
TP1 2a Feira das 18:00 às 20:00 (DI - 0.11) JoseBacelarAlmeida
TP2 5a Feira das 16:00 às 18:00 (DI - 0.11) ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2a 16:00 - 18:00, 5a 14:00-16:00
JoseBacelarAlmeida 2a 14:00 - 18:00


Material Disponibilizado

Recomendações de leitura

  • Introdução ao conceito de Zero-Knowledge para identificação e explicação da segurança do protocolo Schnorr: capítulo 10 do livro "Handbook of Applied Cryptography", disponível aqui.
  • Propriedades das funções de hash e a relação com ataques por força bruta e birthday attacks: wikipedia aqui.

Aulas Teóricas

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (opcional, mas a ausência de avaliação prática limita a nota teórica a 12 valores)
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho práticos.
    • Os trabalhos serão realizados maioritáriamente nas aulas, por grupos de até 3 alunos.
    • Será necessário elaborar um relatório do trabalho efectuado, bem como efectuar uma apresentação desse relatório.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 23 Jan 2007

CriptografiaAplicada0708 24 Sep 2008 - 10:35 - r25 JoseBacelarAlmeida
Notícias

22-02-2008 Já estão disponíveis as notas do exame de recurso.

DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2-105).

28-01-2008 Já estão disponíveis as notas do 2º teste.

18-01-2008 A direcção de curso confirmou a data de 23-01-2008 (9:00, CP2111) para o teste de CA.

14-01-2008 Notas dos Mini-Projectos.

26-12-2007 Notas do teste intermédio.

27-11-2007 Já está disponível o enunciado do projecto prático.

20-11-2007 Estão disponíveis dois novos mini-projectos (aqui).

08-11-2007 O teste intermédio será no dia 13 de Novembro (3a-feira) às 17:00 - sala CP1206.

16-10-2007 Já está disponível o enunciado do primeiro mini-projecto (aqui).

16-10-2007 O teste intermédio será na semana de 12 a 17 de Novembro. O teste final na semana de 21 a 26 de Janeiro.

08-10-2007 As listas de inscritos nos turnos práticos encontram-se aqui.

20-09-2007 As notas da época especial estão disponíveis no site do ano anterior.

18-09-2007 Dado que ainda estão a decorrer exames de disciplinas de LESI, não haverá aula de CA hoje (18-09-2007).

2007-2008

Criptografia Aplicada

Criptografia e Segurança da Informação

(Edição 2006-2007, Edição 2005-2006, Edição 2004-2005)


Equipa Docente

  • José Carlos Bacelar Almeida

Horários

Tipo Horário
T 3a Feira das 14:00 às 16:00 (DI A2)
TP1 3a Feira das 16:00 às 18:00 (DI - 1.04)
TP2 3a Feira das 18:00 às 20:00 (DI - 1.04)

Horários de Atendimento

Docente Horário
José Carlos Bacelar Almeida 2a feira, 16:00 - 19:00


Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas

Trabalhos Práticos

Projecto: Enunciado

Mini-Projectos: Informação relativa aos mini-projectos está disponível aqui.

Exames

Notas

Curso Num. Nome Exame FINAL
LESI 26213 Alexandre Manuel Nogueira da Costa 9 10
LESI 40668 Artur Jorge Paiva Correia Machado 5 R
LESI 36960 José Carlos de Freitas Fontão 13 13
LESI 40647 Marco Paulo Barbosa de Brito 5.5 R
LESI 40669 Mário Filipe de Melo Pinhal 12.5 13
LMCC 43488 Paula Cristina Gomes da Silva 8.5 10


Objectivos

  • Estudar
    • Conceitos fundamentais da Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com a linguagem JAVA

Critérios de Avaliação

  • Nota final
    • Teste Escrito: 60% (nota mínima de 8 valores)
    • Componente Prática: 40% (opcional, mas a ausência de avaliação prática limita a nota final a 12 valores)
  • Teste Escrito:
    • Serão realizados dois testes ao longo do semestre (datas a confirmar):
      • 1º em meados de Novembro (13 de Novembro, às 17:00 - sala CP1206);
      • 2º na época de testes no final do semestre (semana de 21 a 26 de Janeiro).
    • O exame de recurso compreende toda a matéria.
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um ou mais trabalhos práticos. Os alunos podem optar por:
      • Realizar dois pequenos projectos durante o semestre (serão propostos pelo menos 4 temas). Os prazos serão fixados aquando do anúncio de cada projecto (tipicamente de 1 ou 2 semanas) e a sua defesa será realizada nas aulas práticas.
      • Um projecto de maior dimensão realizado por grupos de até 3 alunos, onde se pode fazer uso das componentes realizadas durante as aulas práticas. Será entregue e defendido no final do semestre.
    • Em qualquer uma das modalidades, a entrega consistirá no código desenvolvido e num pequeno relatório do trabalho efectuado.

Programa Resumido

  • Teórica
    • Introdução e Terminologia
      • Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Classificação de Ataques
      • Apresentação de Técnicas Criptográficas
    • Técnicas Criptográficas
      • Cifras simétricas (sequenciais e por blocos)
      • Funções de Hash e Message Authentication Codes
      • Distribuição e acordo de chaves
      • Cifras assimétricas e Criptografia de Chave Pública
      • Assinaturas digitais e Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press 2001.
  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


CriptografiaAplicada0708Projs 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida

Mini-Projectos


Projecto 4: Site para intranet com autenticação baseada em Certificados X509

Prazo: 3 semanas (entrega/demonstração na aula do dia 8 de Janeiro de 2008)

Pretende-se configurar um servidor web para uma intranet de uma instituição. Os requisitos são:

  • O site irá disponibilizar diferentes áreas para os vários departamentos da instituição. Em cada uma dessas áreas existirão zonas de acesso público e restritas a utilizadores autenticados (do departamento em questão).
  • Admite-se que cada departamento dispõe de uma CA própria (mas estas não se encontram necessariamente hierarquizadas).
  • Para certas zonas do site, podem ainda existir critérios de acesso mais restritivos (e.g. só determinados utilizadores podem aceder).

O trabalho consistirá na configuração do web-server para uma instanciação do cenário proposto. Em particular, é parte integrante deste trabalho a geração dos certificados envolvidos (para os diferentes departamentos). No relatório deverão destacar os pontos mais relevantes do desenvolvimento (e.g. fragmentos das scripts de configuração; etc.)

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email. A demonstração ocorrerá na aula prática no próprio dia da entrega (obs: para utilizar os computadores do laboratório terá de instalar no momento todo o software necessário. O mais simples será trazer um portátil com o software já instalado).


Projecto 3: Codificação de esquemas de cifra ou assinatura aleatórios baseados no RSA.

Prazo: 2 semanas (entregue na aula do dia 4 de Dezembro)

Do ponto de vista de segurança, recomenda-se que a utilização de esquemas criptográficos baseados no RSA considerem elementos aleatórios na produção da cifra/assinatura. Exemplos desses esquemas são o RSA-OAEP (cifra) e RSA-PSS (assinatura). Pretende-se neste projecto realizar a codificação de um destes esquemas (à sua escolha) em Java. Para tal deverá seguir a especificação apresentada em PKCS1-v2.1.

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email.


Projecto 2: Construção das tabelas características das S-box do DES.

Prazo: 2 semanas (entregue na aula do dia 4 de Dezembro)

Desenvolver um programa que gere as tabelas características das S-box do DES (utilizadas na cripto-análise diferencial). Recorde-se que essas tabelas registam:

  • Para cada S-box, qual o número de resultados com uma dada diferença em função das diferenças das entradas (tabela como a apresentada nos slides das teóricas);
  • Para uma S-box, e determinadas diferenças na entrada e na saída, quais os pares de entrada e saída que são contabilizadas na posição respectiva da tabela anterior.

Sugestão: adapte uma implementação do DES (aí já dispõe da codificação das várias S-box).

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email.


Projecto 1: Abstracção para comunicação com garantias de integridade

Prazo: 1 semana (entregue na aula do dia 23 de Outubro)

Pretende-se desenvolver classes que suportem abstracções análogas à CipherInputStream/CipherOutputStream, mas cuja garantia associada seja a integridade e não a confidencialidade. Deverá ser escrito um pequeno relatório (4/5 folhas) que discuta as decisões de implementação adoptadas e apresentado um pequeno programa que ilustre a utilização das classes.

Entrega: Uma cópia impressa do relatório deverá ser entregue no final da aula teórica. O código e uma versão electrónica do relatório devem ser enviados por email.

Lista de Alunos:

NOME NÚMERO CURSO
Marco Paulo Gomes 40662   LESI
Rui Jorge Valente 35371 LESI
----- --- ---
Fernando Pedro Viana Morais 30717 LMCC
----- --- ---
Miguel Matos 38217  
----- --- ---
Vítor Rocha 38182  
----- --- ---
Nuno Miguel Gomes da Costa 24279 LESI
Nuno Miguel Milhases da Silva 29251 LESI
----- --- ---
Carlos Lopes    
João Cunha    
----- --- ---
Carlos SIlva 35290  
----- --- ---
Bruno Araújo 35284  
Júlio Lopes   35841  
----- --- ---
Paulo Alexandre Marques Jesus 33202 LESI
----- --- ---
Oscar Brito    
----- --- ---
Daniel Gomes Mendes 39834 LMCC
----- --- ---
Moisés Soares 40614 LESI
----- --- ---
Duarte Alves    
----- --- ---
Pedro Almeida 40612 LESI
----- --- ---
Paulo Sérgio Silva Santos 40631  
----- --- ---
Filipe Regadas    
----- --- ---
Marcio Filipe Mendes Moreira 40655  
----- --- ---
Henrique Coelho    
----- --- ---
Carlos Castro 40609  
----- --- ---
----- --- ---
Carlos SIlva 35290  
----- --- ---
Nuno Miguel Pôjo    
CriptografiaAplicadaTP0607 09 Dec 2007 - 02:42 - r19 JoseBacelarAlmeida

Sessões laboratoriais de CA (2006/2007)


Aula 1 - Arquitectura Cliente-Servidor

Pretende-se construir uma plataforma que permita a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Algumas classes relevantes:

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]


Aula 2 - Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir dois pequenos programas Java: Um primeiro que cifra um ficheiro (e.g. texto_limpo.txt) por intermédio de uma cifra simétrica (e.g. cifra sequêncial RC4). Um segundo que decifra o criptograma obtido para recuperar o texto limpo.

Para simplificar vamos utilizar uma chave secreta fixa, definida no código na forma de um array de bytes, e convertida numa chave secreta adequada utilizando a classe SecretKeySpec.

É também interessante verificar que o criptograma gerado é compatível com outras plataformas que implementam a mesma cifra. O comando seguinte utiliza o openssl para decifrar um ficheiro cifrado com RC4 (a chave tem de ser fornecida em hexadecimal).

openssl enc -d -rc4 -in <criptograma> -out <ficheiro resultado> -K <chave> -iv 0

Algumas classes relevantes:

Outra documentação relevante:

Aula 3 - Canal seguro entre Cliente/Servidor

Pretende-se completar/modificar o código realizado nas aulas anteriores por forma a que o Cliente comunique de forma segura (confidêncial) com o Servidor. Para tal deve-se utilizar uma cifra por blocos (e.g. AES) num modo de funcionamento apropriado.

Observações:

  • A escolha do modo deve ser adequado à natureza da conexão entre o cliente e o servidor. Em particular, deve-se tomar em atenção as questões de buffering e sincronização...
    • Se se optar por uma Stream "interactiva", pode-se optar por CipherOutputStream e CipherInputStream com uma cifra num modo "sequêncial" (obs.: experimente utilizar um modo por blocos para ter percepção sobre os problemas dessa solução...)
    • Se optar por transmissão assíncrona de objectos, por optar por utilizar SealedObject sobre uma ObjectStream. Nesse caso pode utilizar um modo por blocos (e.g. CBC).
  • Em qualquer dos casos, terá sempre de tratar da inicialização e transmissão do Initialization Vector.
  • Estando nós a utilizar uma cifra simétrica, temos de garantir que cliente/servidor acordam na chave utilizada. Para simplificar, podemos admitir que guardamos a chave num ficheiro (gerada por um pequeno programa com base na funcionalidade da classe KeyGenerator) que é disponibilizado a ambos os programas. Adiante, dicutiremos formas mais apropriadas de estabelecer o acordo de chaves entre as partes...

Algumas classes relevantes (para além das já estudadas...):


Aula 4 - Canal seguro entre Cliente/Servidor (continuação)

Pretende-se:

  • (Se for o caso...) Concluir a implementação da aula anterior;
  • Implementar estratégia alternativa (CipherStream vs. SealedObject).


Aula 5 - Acordo de chaves Diffie-Hellman

O objectivo desta aula é adicionar à aplicação Cliente/Servidor suporte para o protocolo de acordo de chaves Diffie-Hellman. Para tal deverá ser conveniente estudar/adaptar o programa de exemplo apresentado em JCE Reference Guide (Appendix F).

Novas classes:


Aula 6 - Implementação do protocolo Station to Station

Pretende-se:

  • (Se for o caso...) Concluir a implementação da aula anterior (acordo de chaves Diffie Hellman);
  • Complementar o programa de acordo de chaves para incluir a funcionalidade do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma traca de assinaturas (cifrada com a chave de sessão negociada), i.e.:
    1. Alice -> Bob : g^x
    2. Alice <- Bob : g^y, EK(SB(g^y, g^x))
    3. Alice -> Bob : EK(SA(g^x, g^y))

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:


Aula 7 - Garantias de Integridade

Tendo já abordado os aspectos de confidencialidade e autenticidade na comunicação Cliente/Servidor, falta-nos considerar a integridade da mensagem transmitida (i.e. garantir que não é possível manipular/alterar a mensagem enquanto em trânsito). Para tal devemos fazer uso de (H)MACs (classe javax.crypto.Mac).

Obs.: Uma sugestão para integrar a utilização de MACs na aplicação existente consiste em seguir a estratégia adoptada em CipherStream ou SealedObject: a de encapsular a sua funcionalidade numa classe responsável pela comunicação...


Aula 8 - Utilização de Certificados em Java

Pretende-se certificar as chaves públicas utilizadas no protocolo Station-to-Station com base em certificados X509. Para tal, disponibiliza-se:

  • Certificado de chave pública do Servidor: servidor.crt
  • Chave privada do Servidor (codificada em PKCS8): servidor.der
  • Certificado de chave pública do Cliente: cliente.crt
  • Chave privada do Cliente (codificada em PKCS8): cliente.der
  • Certificado auto-assinado da autoridade de certificação: ca.crt

Para facilitar o estudo da manipulação de certificados X509, disponibiliza-se um programa que verifica a validade de uma cadeia de certificação: ValidateCertPath.java.

Classes requeridas:

Outra documentação relevante:


Aula 9 - Geração de Certificados

Nesta sessão iremos fazer uso do openssl para construir uma pequena autoridade de certificação.

O processo de emissão de certificados X509 passa pelos seguintes passos:

  1. - O utilizador gera um par de chaves;
  2. - O utilizador produz um "pedido de certificado" que contém a sua identificação e a sua chave pública, que é assinado com a sua chave privada (o que certifica que quem solicita o certificado está na posse da respectiva chave privada);
  3. - A autoridade de certificação valida os dados contidos no certificado e, no caso de certificar positivamente esses dados, emite o certificado de chave pública correspondente.
  4. - O certificado é enviado ao utilizador e, eventualmente, publicado por outros meios (e.g. serviço de directoria).

Para cada um destes passos iremos fazer uso dos comandos respectivos do openssl.

Geração de chaves:

openssl genrsa -out grupoXPTO.key

Para utilizar a chave privada no Java é conveniente converter o seu formato para PKCS8

penssl pkcs8 -topk8 -nocrypt -in grupoXPTO.key -outform der -out grupoXptoPrivKey.der

Geração do pedido de certificado:

openssl req -new -key grupoXPTO.key -out grupoXPTO.csr 

Emissão do certificado: A emissão de certificados é normalmente realizada com o auxílio de scripts que invocam o comando openssl com os argumentos apropriados. Existem duas scripts normalmente utilizadas para este efeito:

  • CA.pl - distribuída com o "openssl".
  • sign.sh - distribuída com o "mod_ssl". Espera encontrar ficheiros ca.key e ca.crt.

Produção de PKCS12: Para certas utilizações (e.g. browsers, leitores de email, etc.) é conveniente encapsularmos o certificado e respectiva chave privada num PKCS12.

openssl pkcs12 -export -chain -CAfile cacert.pem -name TWiki.GrupoXPTO -aes128 -inkey grupoXPTO.key -in grupoXPTO.crt -out TWiki.GrupoXPTO.p12

Verificação dos certificados:

openssl verify -CAfile cacert.pem cert1.crt cert2.crt ...

utilizando este Certificado da autoridade de certificação de raiz.

Apontadores úteis:


CriptografiaAplicadaTP0708 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida

Sessões laboratoriais de CA (2007/2008)


Aula 1 - Ambiente de Desenvolvimento

O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento Java que será utilizado durante o curso.

Como actividade de programação (para experimentar o ambiente escolhido), deve desenvolver uma pequena aplicação que leia um ficheiro de texto (nome do ficheiro passado como argumento), e escreva para stdout o seu conteúdo com todas as letras maiúsculas.


Aula 2 - Cifra de ficheiro utilizando JCA/JCE

Pretende-se cifrar o conteudo de um ficheiro. Para tal far-se-á uso da funcionalidade oferecida pela JCA/JCE, em particular a implementação de cifras simétricas.

O objectivo é então o de definir um pequeno programa Java que permita cifrar/decifrar um ficheiro utilizando uma cifra simétrica (e.g. RC4). A sua forma de utilização pode ser análoga a:

      prog -genkey <keyfile>
      prog -enc <keyfile> <infile> <outfile>
      prog -dec <keyfile> <infile> <outfile>

Sugestões:

  • Para simplificar, pode começar por utilizar uma chave secreta fixa, definida no código na forma de um array de bytes. Nesse caso, deverá utilizar a classe SecretKeySpec para a converter para o formato adequado.
  • É também interessante verificar que o criptograma gerado é compatível com outras plataformas que implementam a mesma cifra. O comando seguinte utiliza o openssl para decifrar um ficheiro cifrado com RC4 (a chave tem de ser fornecida em hexadecimal).
               openssl enc -d -rc4 -in <infile> -out <outfile> -K <chave>

Algumas classes relevantes:


Aula 3 - Confidencialidade na comunicação Cliente-Servidor

As classes Cliente, Servidor e TServidorimplementam uma aplicação que permite a um número arbitrário de clientes comunicar com um servidor que escuta num dado port (e.g. 4567). O servidor atribui um número de ordem a cada cliente, e simplesmente faz o dump do texto enviado por cada cliente (prefixando cada linha com o respectivo número de ordem). Quando um cliente fecha a ligação, o servidor assinala o facto (e.g. imprimindo [n], onde n é o número do cliente).

Exemplo da execução do servidor (que comunica com 3 clientes):

$ java Servidor
1 : daskj djdhs slfghfjs askj
1 : asdkdh fdhss
1 : sjd
2 : iidhs
2 : asdjhf sdga
2 : sadjjd d dhhsj
3 : djsh
1 : sh dh d   d
3 : jdhd kasjdh as
2 : dsaj dasjh
3 : asdj dhdhsjsh
[3]
2 : sjdh
1 : dhgd ss
[1]
2 : djdj
[2]

Pretende-se nesta aula modificar as respectivas classes por forma a garantir a confidencialidade nas comunicações estabelecidas. Escolha para o efeito a cifra/modo que considerar mais apropriado.

Algumas classes relevantes:


Aula 4 - Confidencialidade na comunicação Cliente-Servidor (continuação)

Pretende-se nesta aula experimentar o impacto da escolha da cifra/modo na comunicação entre o cliente/servidor. Para tal é conveniente reforçar a natureza interactiva da comunicação modificando os ciclos de leitura/escrita para operarem sobre um byte de cada vez:

Cliente:

           TWiki.CipherOutputStream cos = ...
	    int test;
	    while((test=System.in.read())!=-1) {
		cos.write((byte)test);
		cos.flush();
	    }
Servidor:
	    TWiki.CipherInputStream cis = ...
		int test;
		while ((test=cis.read()) != -1) {
		    System.out.print((char) test);
		}

Experimente agora as seguintes cifras (e modos) e verifique qual o respectivo impacto nas questões de buffering e sincronização:

  • RC4
  • AES/CBC/NoPadding
  • AES/CBC/PKCS5Padding
  • AES/CFB8/PKCS5Padding
  • AES/CFB8/NoPadding
  • AES/CFB/NoPadding

Procure explicar a diferenças detectadas na execução da aplicação.

Obs: Note que em muitos dos modos sugeridos necessita de considerar um IV. Considere para o efeito que o IV é gerado pelo cliente e enviado em claro para o servidor (no início da comunicação).

Algumas classes relevantes (para além das já estudadas...):


Aula 5 - Acordo de Chaves Diffie-Hellman

O objectivo desta aula é implementar o acordo de chaves Diffie-Hellman. Algumas sugestões para atacar o problema:

  • Comece por utilizar a classe BigInteger e codifique cada passo do protocolo explicitamente. Pode começar por utilizar os seguintes parâmetros para o grupo (P tem 1024 bit):
P = 99494096650139337106186933977618513974146274831566768179581759037259788798151499814653951492724365471316253651463342255785311748602922458795201382445323499931625451272600173180136123245441204133515800495917242011863558721723303661523372572477211620144038809673692512025566673746993593384600667047373692203583
G = 44157404837960328768872680677686802650999163226766694797650810379076416463147265401084491113667624054557335394761604876882446924929840681990106974314935015501571333024773172440352475358750668213444607353872754650805031912866692119819377041901642732455911509867728218394542745330014071040326856846990119719675
  • No JCA, podemos gerar valores apropriados para os parâmetros necessários através de uma instância apropriada da classe AlgorithmParameterGenerator.
  • Em vez de trabalharmos directamente com a classe BigInteger, pode-se fazer uso da classe KeyAgreement.
  • No JCE Reference Guide está disponível um exemplo de codificação do protocolo.

Novas classes:


Aula 6 - Continuação da codificação do protocolo Diffie-Hellman

Nesta aula pretende-se concluir o protocolo de acordo de chaves Diffie-Hellman. Sugere-se que agora façam exclusivamente uso das funcionalidades oferecidas pela JCA, nomeadamente:

  • Classe AlgorithmParameterGenerator para gerar os parâmetros P e G do algoritmo;
  • Classe KeyPairGenerator para gerar os pares de chaves ( (x, g^x) e (y,_g^y_) para cada um dos intervenientes);
  • Classe KeyAgreement que implementa o protocolo propriamente dito.

APIs:


Aula 7 - Teste intermédio


Aula 8 - Codificação do protocolo Station-to-Station.

Pretende-se complementar o programa com o acordo de chaves Diffie-Hellman para incluir a funcionalidade do protocolo Station to Station. Recorde que nesse protocolo é adicionado uma troca de assinaturas (cifrada com a chave de sessão negociada), i.e.:

  1. Alice -> Bob : g^x
  2. Alice <- Bob : g^y, EK(SB(g^y, g^x))
  3. Alice -> Bob : EK(SA(g^x, g^y))

Um requisito adicional neste protocolo é a manipulação de pares de chaves de cifras assimétricas (e.g. RSA). Para tal deve produzir um pequeno programa que gere os pares de chaves para cada um dos intervenientes e os guarde em ficheiros que serão lidos pela aplicação Cliente/Servidor.

Novas Classes:


Aula 9 - Continuação da aula anterior.


Aula 10 - Utilização de certificados X509 em Java

Pretende-se certificar as chaves públicas utilizadas no protocolo Station-to-Station com base em certificados X509. Para tal, disponibiliza-se:

  • Certificado de chave pública do Servidor: servidor.crt
  • Chave privada do Servidor (codificada em PKCS8): servidor.pk8
  • Certificado de chave pública do Cliente: cliente.crt
  • Chave privada do Cliente (codificada em PKCS8): cliente.pk8
  • Certificado auto-assinado da autoridade de certificação: ca.crt

A utilização de certificados pressupõe a sua validação. O Java disponibiliza uma API específica que deverá utilizar para o efeito (documentação abaixo). Para facilitar esse estudo recomenda-se o estudo/adaptação de um programa de exemplo que verifica a validade de uma cadeia de certificação: ValidateCertPath.java. Utilizando esse programa, podemos verificar a validade do certificado do servidor através da linha de comando:

java TWiki.ValidateCertPath ca.crt servidor.crt 

Uma segunda questão que surgirá neste trabalho é a manipulação dos formatos das chaves: as chaves privadas correspondentes aos certificados fornecidos estão codificadas num formato standard PKCS8. Para se converter esse formato num objecto Java apropriado terá de se utilizar uma instância da classe KeyFactory. O fragmento de código que se apresenta ilustra esse processo:

        byte[] encodedKey;      // read from file
        TWiki.PKCS8EncodedKeySpec keySpec = new TWiki.PKCS8EncodedKeySpec(encodedKey);
        TWiki.KeyFactory keyFactory = TWiki.KeyFactory.getInstance("RSA");
        TWiki.RSAPrivateKey privKey =
        (TWiki.RSAPrivateKey)keyFactory.generatePrivate(keySpec);

Classes requeridas:

Outra documentação relevante:


Aula 11 - Continuação da aula anterior.


Aula 12 - Geração de Certificados X509.

Nesta sessão iremos fazer uso do openssl para construir uma pequena autoridade de certificação.

O processo de emissão de certificados X509 passa pelos seguintes passos:

  1. - O utilizador gera um par de chaves;
  2. - O utilizador produz um "pedido de certificado" que contém a sua identificação e a sua chave pública, que é assinado com a sua chave privada (o que certifica que quem solicita o certificado está na posse da respectiva chave privada);
  3. - A autoridade de certificação valida os dados contidos no certificado e, no caso de certificar positivamente esses dados, emite o certificado de chave pública correspondente.
  4. - O certificado é enviado ao utilizador e, eventualmente, publicado por outros meios (e.g. serviço de directoria).

Para cada um destes passos iremos fazer uso dos comandos respectivos do openssl.

Geração de chaves:

openssl genrsa -out grupoXPTO.key

Para utilizar a chave privada no Java é conveniente converter o seu formato para PKCS8

openssl pkcs8 -topk8 -nocrypt -in grupoXPTO.key -outform der -out grupoXptoPrivKey.der

Geração do pedido de certificado:

openssl req -new -key grupoXPTO.key -out grupoXPTO.csr 

Emissão do certificado: A emissão de certificados é normalmente realizada com o auxílio de scripts que invocam o comando openssl com os argumentos apropriados. Existem duas scripts normalmente utilizadas para este efeito:

  • CA.pl - distribuída com o "openssl".
  • sign.sh - distribuída com o "mod_ssl". Espera encontrar ficheiros ca.key e ca.crt.

Produção de PKCS12: Para certas utilizações (e.g. browsers, leitores de email, etc.) é conveniente encapsularmos o certificado e respectiva chave privada num PKCS12.

openssl pkcs12 -export -chain -CAfile cacert.pem -name TWiki.GrupoXPTO -aes128 -inkey grupoXPTO.key -in grupoXPTO.crt -out TWiki.GrupoXPTO.p12

Verificação dos certificados:

openssl verify -CAfile cacert.pem cert1.crt cert2.crt ...

utilizando este Certificado da autoridade de certificação de raiz.

Apontadores úteis:



CriptografiaAplicadaTP0708Turnos 10 Oct 2007 - 01:17 - r3 JoseBacelarAlmeida

Turno 1 (16:00-18:00)

Número Curso Nome
30259 LESI Rui ???
35308 LESI Francisco Leite
8808 LESI Álvaro Agante
40625 LESI Nuno Pôjo
40631 LESI Paulo Santos
41833 LESI Mário Duarte
40609 LESI Carlos Castro
40614 LESI ??? Soares
40600 LESI Nelson Barroso
24279 LESI Nuno Costa
40647 LESI Marco Brito
40676 LESI Filipe ???
41032 LESI Elísio Simão
40683 LESI Oscar Brito
40662 LESI Marco Gomes
35284 LESI Bruno Araújo

+ alunos da UCE de CSSI.

Turno 2 (18:00-20:00)

Número Curso Nome
27637 LESI Manuel Cunha
35328 LESI Joel Rocha
??? LESI Duarte Alves
??? LESI Tiago Cardoso
30208 LESI Jorge Rebelo
35826 LMCC Joana Vilas Boas
34559 LMCC Sara Fernandes
38608 LMCC Filipe Mendes
35816 LMCC Davide Sousa
41031 LMCC Rui Gonçalves
33202 LESI Paulo de Jesus
35291 LESI Carlos Lopes
24709 LESI João Cunha
40663 LESI Samuel Alpoim
40622 LESI Henrique Coelho
42153 LESI Miguel Lopes
35806 LMCC Bruno Sousa
----- ---- ------------
38159 LESI Pedro Oliveira
35290 LESI Carlos Silva
40629 LESI Fernando Barroso
40655 LESI Márcio Moreira
40612 LESI Pedro Almeida
40635 LESI Ana Anjo
37984 LESI Carlos Braga
29251 LESI Nuno Silva
35286 LESI Bruno Dias
35371 LESI Rui Valente
35841 LESI Júlio Lopes
CriptografiaBiomedica0506 24 Sep 2008 - 18:59 - r6 JoseBacelarAlmeida

Education.Criptografia

Licenciatura em Engenharia Biomédica - Ramo Bioinformática
4º Ano - 1º Semestre
Ano lectivo 2005/2006


Programa

  • Conceitos Fundamentais: criptografia e criptoanálise; cifras, chaves e comunicação segura; cifras simétricas; distribuição e acordo de chaves; cifras assimétricas e criptografia de chave pública; assinaturas digitais e códigos de autenticação de mensagens; identificação.

  • Certificação e Infraestrutura de Chave Pública (PKI): certificados e CRLs; autoridades de registo; autoridades de certificação; cadeias e hierarquias de certificação; standards de criptografia de chave pública.

  • Aplicações e Protocolos Criptográficos: protocolos de sessão (SSL, SSH); segurança em correio electrónico (PGP, S/MIME); bases de dados seguras.

Bibliografia

  • Apontamentos da disciplina

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.

  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.

Critérios de Avaliação

Exame escrito

Apontamentos

Ver aqui

Classificações dos Exames Teóricos

Equipa Docente

Horário Lectivo

Turnos Horário Sala Docente
T1 5ªfeira 10:00-13:00 DI A2 jmv

Horário de Atendimento

Docente Horário
jmv 2ª feira 14:30-17:30
jmv 3ª feira 14:30-17:30
CriptografiaBiomedica0607 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
Notícias

Já estão disponíveis as notas da época normal -- ManuelBernardoBarbosa - 30 Jan 2007

Site criado. -- ManuelBernardoBarbosa - 21 Sep 2006

Criptografia 2006-2007

Licenciatura em Engenharia Biomédica

(Edição 2005-2006)


Notas

  • Notas da época de recurso:

Número Nome Nota
40440 José Miguel Soares 16
41551 João Pedro Pinheiro 12

Equipa Docente

Horários

Tipo Horário Docente
T/TP 5a Feira das 10:00 às 13:00 (DI - 1.07) ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 2a 16:00 - 18:00, 5a 14:00-16:00


Material Disponibilizado

Aulas Teóricas

  • Apontamentos teóricos (actualizados semanalmente): parte 1, parte 2

Aulas Teórico-Práticas


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

NA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 80% (nota mínima de 8 valores)
    • Componente Prática (Avaliação contínua): 20%
    • (estas percentagens devem ser olhadas como meros indicadores)
  • Avaliação prática
    • Os trabalhos serão realizados maioritáriamente nas aulas e serão individuais.
    • Será necessário elaborar um relatório final do trabalho efectuado.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • S/MIME
      • Secure Sockets Layer (SSL)
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 30 Jan 2007

CriptografiaBiomedica0809 02 Jul 2009 - 17:11 - r14 JoseBacelarAlmeida

Criptografia 2008-2009

Licenciatura em Engenharia Biomédica

(Edição 2006-2007; Edição 2005-2006)


Equipa Docente

  • José Carlos Bacelar Almeida (responsável pela disciplina)

Horários

Tipo Horário Docente
T/TP 5a Feira das 10:00 às 13:00 (DI - 1.07) jba

Horários de Atendimento

Docente Horário
jba 3a 14:00-17:00
jba 5a 14:00-17:00


Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas

Projectos Práticos

Ver enunciados aqui.

Slides sobre configuração do Apache+modssl


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Criptografia.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Pré-Requisitos

NA

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
    • Componente Prática (Avaliação contínua+Trabalho prático): 30%
  • Avaliação prática
    • Os trabalhos serão realizados maioritariamente nas aulas.
    • Será necessário elaborar um relatório final do trabalho efectuado.

Programa Resumido

  • Teórica:
    • Introdução
    • Terminologia
      • Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Aplicações e Protocolos Criptográficos Comerciais
      • Secure Sockets Layer (SSL)
      • SSH
      • Pretty Good Privacy (PGP)
      • S/MIME

  • Prática:
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Avaliação

Nome Aval. Prática Teste Final
Ana Isabel Faria Coelho 13 14.75 14
Andreia Daniela Fernandes Félix 12 13.5 13
António José Vieira Basílio Martins Morais 16 11 13
Frederico de Braga e Alves 12 10.5 11
João Tiago Antunes Ferreira 14 10.5 12
Pedro Eduardo Rodrigues da Silva Gomes 16 14.5 15
Rui Manuel Carneiro Pimenta Marinho 18 19 19

Nome Aval. Prática Teste Final
Andreia Daniela Fernandes Félix 12 15.75 15

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Handbook of Applied Cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press 2001.
  • Java Cryptography, Jonathan Knudsen, O'Reilly 1998.


CriptografiaBiomedicaProj0809 05 Dec 2008 - 22:56 - r2 JoseBacelarAlmeida

Mini-Projecto Prático

Descrevem-se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais do trabalho deverão ser desenvolvidas em Java, fazendo uso da framework JCA/JCE. Os grupos são incentivados a fazerem uso dos programas de exemplo que tem vindo a ser desenvolvidos nas aulas teórico-práticas da disciplina. A data limite para a entrega do trabalho é 5 de Janeiro de 2009, devendo este ser enviado por email para o docente da disciplina, acompanhado por um relatório que documente as opções tomadas ao longo do seu desenvolvimento. A defesa do trabalho terá lugar no dia 9 de Janeiro de 2009, durante o horário lectivo da disciplina (10:00 - 13:00).


Projecto 1

O objectivo deste trabalho consiste em desenvolver uma aplicação de conversação (chat) segura. O cenário considerado é uma organização contendo um conjunto bem definido de utilizadores (e.g. departamento de uma empresa). Em termos da arquitectura do sistema, consideram-se as seguintes componentes:

  • Servidor: aplicação Java responsável por disponibilizar o serviço de chat;
  • Cliente: aplicação Java que possibilita o acesso dos utilizadores ao sistema;
  • CA: autoridade de certificação responsável pela emição dos certificados requeridos para o funcionamento das aplicações.
Em termos de funcionalidade, sugere-se:
  • A identidade dos utilizadores deverá ser assegurada por intermédio da utilização de certificados X509. A emissão dos certificados necessários é parte integrante do projecto. No entanto, não se impõe que essa componente seja realizada por uma aplicação Java desenvolvida especificamente para esse fim — pode-se fazer uso de ferramentas de domínio público como o openssl.
  • Um utilizador acede ao sistema através da aplicação cliente. Após apresentar as credenciais requeridas, terá acesso à “sala de conversação” onde poderá comunicar de forma segura com os utilizadores que se encontrem on-line.
  • (opcional) Construção de uma interface gráfica simples para os clientes.
  • (opcional) Um utilizador ligado ao sistema pode ainda solicitar uma conversação privada com um outro utilizador também disponível on-line. Nesse caso, e se o parceiro aceitar a comunicação, é estabelecida uma ligação segura entre eles.
  • (opcional) Deverá ser ainda possível a um utilizador enviar mensagens para serem lidas off-line por outros utilizadores. O servidor deverá assim gerir “caixas de correio” onde armazena as mensagens até que os destinatários se liguem ao sistema.

Em todas a comunicações estabelecidas deverão ser adoptados os requisitos de segurança sempre na perspectiva mais conservadora (e.g. um utilizador legítimo, se não estiver on-line, não deverá ser capaz de interceptar o conteúdo das mensagens trocadas na sala de conversação). A identificação clara dos requisitos de segurançaa, assim como escolhas fundamentada das técnicas criptográficas utilizadas, será dos aspectos mais valorizados na avaliação do trabalho.

Projecto 2

O objectivo deste projecto consiste em complementar o projecto desenvolvido no âmbito da disciplina de Sistemas Distribuídos para incorporar aspectos de segurança nos canais de comunicação envolvidos e no acesso aos recursos. Em particular, pretende-se

  • Utilizar o protocolo SSL em modo de autenticação mútua para os canais de comunicação:
    • Cliente(s) ↔ Servidor
    • Servidor ↔ motor de base de dados
  • A autenticação das várias entidades envolvidas deverá fazer uso de certificados X509. A emissão dos certificados necessários é parte integrante do projecto. No entanto, não se impõe que essa componente seja realizada por uma aplicação Java desenvolvida especificamente para esse fim — pode-se fazer uso de ferramentas de domínio público como o openssl.
  • (opcional) Construção de uma interface gráfica simples baseada em applets.
  • (opcional) Configuração de um servidor Web (onde se disponibiliza a applet) cujo controlo de acessos é regulado pelos mesmos certificados da aplicação.
  • (opcional) Avaliar como é que o(s) mecanismo(s) de autenticação do motor de base de dados se podem associar à autenticação com certificados X509 utilizados na comunicação X509.

Em todas a comunicações estabelecidas deverão ser adoptados os requisitos de segurança sempre na perspectiva mais conservadora. A identificação clara dos requisitos de segurançaa, assim como escolhas fundamentada das técnicas criptográficas utilizadas, será dos aspectos mais valorizados na avaliação do trabalho.

CriptografiaLECOM0506 19 Sep 2008 - 13:41 - r21 JoseBacelarAlmeida
Notícias

  • Sumário: On-Line Certificate Status Protocol (OCSP) e Secure Sockets Layer (SSL). -- ManuelBernardoBarbosa - 25 May 2006

  • Sumário: Assinaturas digitais, identificação de agentes, protocolos de conhecimento zero, mecanismo desafio-resposta. -- ManuelBernardoBarbosa - 20 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Segurança teórica de cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 06 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 30 Mar 2006.

  • Sumário: Implementação de CBC a partir de ECB sobre openssl. Segurança teórica de cifras simétricas. -- ManuelBernardoBarbosa - 23 Mar 2006

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB -- ManuelBernardoBarbosa - 16 Mar 2006.

  • Sumário: Implementação em C de cifragem RC4. Cifras por blocos. DES, IDEA e AES. Padding. -- ManuelBernardoBarbosa - 9 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 2 Mar 2006.

Education.Criptografia LECOM 2005-2006


Equipa Docente

Horários

Tipo Horário Docente
T 5a Feira das 11:00 às 13:00 ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 5a Feira das 14:00 às 16:00 (Gualtar)


Notas

  • Notas da época especial

Número Nome Exame Final
39263 Cristophe Oliveira Gonçalves Costa 7 R
39258 David Marques Pires 6 R
41566 João Miguel Carvalho Oliveira - F

Material Disponibilizado


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame):80% (nota mínima de 8 valores)
    • Avaliação Contínua (Participação nas Aulas): 20%.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


ManuelBernardoBarbosa - 21 Feb 2006

CriptografiaLECOM0607 19 Sep 2008 - 13:40 - r19 JoseBacelarAlmeida
Notícias

Para consultar o exame da época especial, contactar o docente da disciplina. -- -- ManuelBernardoBarbosa - 20 Set 2007

Os exames de recurso poderão ser cunsultados na 5a feira dia 26 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 25 Jul 2007

O exame oral realizar-se-á na 2a feira, dia 9 de Julho, às 15:00, no Departamento de Informática em Gualtar/Braga. O aluno em questão deverá contactar o docente por e-mail, no caso da existência de algum impedimento à realização do exame oral nesta data. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da 2a chamada poderão ser consultados na 2a feira dia 9 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da primeira chamada poderão ser consultados na aula de dúvidas de 5a feira. -- ManuelBernardoBarbosa - 27 Jun 2007

Haverá uma aula de dúvidas de Criptografia, antes do exame da 2a chamada. Terá lugar na 5a feira, dia 28 de Junho, às 16:00, na sala de aula onde decorreram as aulas da disciplina. -- ManuelBernardoBarbosa - 26 Jun 2007

Criptografia MECOM 2006-2007


Notas

Equipa Docente

Horários

Tipo Horário Docente
TP 3a Feira das 10:00 às 11:30 ManuelBernardoBarbosa
TP 5a Feira das 11:30 às 13:00 ManuelBernardoBarbosa

Horários de Atendimento

Docente Horário
ManuelBernardoBarbosa 3a Feira das 14:00 às 16:00 (Gualtar)


Material Disponibilizado


Objectivos

  • Estudar
    • Conceitos fundamentais da Education.Criptografia.
    • Certificados de Chave Pública e Public Key Infrastructure.
    • Aplicações correntes/comerciais da Education.Criptografia.
    • Utilização de dispositivos criptográficos portáteis.
  • Aplicar estes conhecimentos na implementação de sistemas seguros.

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame):70% (nota mínima de 8 valores)
    • Avaliação Contínua (Participação nas Aulas): 30%.

Programa Resumido

  • Teórica
    • Introdução
    • Terminologia
      • Education.Criptografia, Criptoanálise e Criptologia
      • Conceitos de cifra, chave e comunicação segura
      • Cifras simétricas, distribuição e acordo de chaves
      • Cifras assimétricas e Education.Criptografia de Chave Pública
      • Assinaturas digitais e Message Authentication Codes
      • Identificação
    • Certificação e Public Key Infrastructure (PKI)
      • Certificados e CRLs
      • Autoridades de Registo
      • Autoridades de Certificação
      • Cadeias e Hierarquias de Certificação
      • Public Key Cryptography Standards (PKCS)
    • Dispositivos portáteis em criptografia
      • Smartcards
      • iButtons
      • PDAs
    • Aplicações e Protocolos Criptográficos Comerciais
      • Pretty Good Privacy (PGP)
      • Secure Sockets Layer (SSL)
      • IPsec
      • Kerberos
      • SSH

  • Prática
    • Java Cryptography Architecture
    • Open SSL
    • Apache - Mod SSL

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier, John Wiley & Sons, Inc. 1995
  • Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press. 1995
  • A Course in Number Theory and Cryptography (2nd Ed.), Neal Koblitz, Springer-Verlag's Graduate Texts in Mathematics, 1994


-- ManuelBernardoBarbosa - 24 Feb 2007

CriptografiaMestradoNews0405 12 Feb 2007 - 19:22 - r5 JoseBacelarAlmeida
14 Out As notas do exame de recurso já saíram.

25 Jul As notas do exame já saíram. Caso o desejem, é possível marcar um exame oral para os alunos que reprovaram. Teria que se realizar até ao final desta semana.

15 Mar A aula da próxima Sexta, 18 de Março, será substituida por uma palestra do Dr. António Lázaro sobre os primórdios da criptografia em Portugal. Apareçam às 14:00 no DI-A1.

CriptografiaMestradoNews0506 07 Mar 2007 - 00:37 - r8 JoseBacelarAlmeida

  • Sumário: Certificate Revocation Lists. Problemas do X.509. Public Key Cryptography Standards. -- ManuelBernardoBarbosa - 19 May 2006

  • Sumário: Digital Signature Algorithm. Protocolos de Identificação: conhecimento zero, desafio-resposta. -- ManuelBernardoBarbosa - 28 Apr 2006

  • Sumário: RSA OAEP. Assinaturas digitais. Protocolo Station to Station. -- ManuelBernardoBarbosa - 21 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 08 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 31 Mar 2006.

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB. -- ManuelBernardoBarbosa - 25 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 11 Mar 2006.

CriptografiaMestradoNews0607 19 Sep 2008 - 13:41 - r2 JoseBacelarAlmeida
CriptografiaMestrados0304 19 Sep 2008 - 13:41 - r7 JoseBacelarAlmeida

Education.Criptografia - MICEI

Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados - MSDPA

2003-2004


Notas

Responsáveis pela Disciplina

JoseManuelValenca
ManuelBernardoBarbosa

Horários das Aulas

  • MICEI: 5a das 11:00 às 13:00 (Sala DI-A2)
  • MSDPA: 6a das 14:00 às 16:00 (Sala DI-2)

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame) - 100%

Documentação

  • Cripto-Mestrado.pdf: Apontamentos Teóricos MBB
  • Exames de Education.Criptografia Aplicada exemplificativos do tipo de pergunta que poderá ser feita relativamente a certificação e aplicações. ( exemplo 1, exemplo 2 )

Bibliografia

Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier John Wiley & Sons, 1995.

Cryptography: Theory and Practice, Douglas R. Stinson CRC Press, 1995.

A Course in Number Theory and Cryptography, Neal Koblitz Springer-Verlag, 1994. (2nd edition)


-- ManuelBernardoBarbosa - 23 Apr 2004

CriptografiaMestrados0405 19 Sep 2008 - 13:41 - r12 JoseBacelarAlmeida
Notícias

14 Out As notas do exame de recurso já saíram.

25 Jul As notas do exame já saíram. Caso o desejem, é possível marcar um exame oral para os alunos que reprovaram. Teria que se realizar até ao final desta semana.

15 Mar A aula da próxima Sexta, 18 de Março, será substituida por uma palestra do Dr. António Lázaro sobre os primórdios da criptografia em Portugal. Apareçam às 14:00 no DI-A1.

Education.Criptografia (MICEI)

Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados (MSDPA)

2004-2005


Docente

Programa

  • Conceitos Fundamentais
    • Education.Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Cifras simétricas, distribuição e acordo de chaves
    • Cifras assimétricas e Education.Criptografia de Chave Pública
    • Assinaturas digitais e Message Authentication Codes
    • Identificação
  • Certificação e Public Key Infrastructure (PKI)
    • Certificados e CRLs
    • Autoridades de Registo
    • Autoridades de Certificação
    • Cadeias e Hierarquias de Certificação
    • Public Key Cryptography Standards (PKCS)
  • Aplicações e Protocolos Criptográficos Comerciais
    • Pretty Good Privacy (PGP)
    • Secure Sockets Layer (SSL)
    • IPsec
    • Kerberos
    • SSH

Horário das Aulas

  • MICEI: 6a das 14:00 às 16:00 (DI 0.04)
  • MSDPA: 6a das 14:00 às 16:00 (DI 0.04)

Critérios de Avaliação

  • Hipótese 1
    • Exame Teórico (100%)
  • Hipótese 2
    • Exame Teórico (50%) + Trabalho Prático (50%)

  • Notas do exame (txt)
  • Notas do recurso (txt)

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Acetatos

  • Manuel Bernardo Barbosa
    • Terminologia (pdf)
    • Certificação e PKI (pdf)
    • Aplicações e Protocolos (pdf)
  • José Carlos Bacelar
    • Cifras Clássicas (pdf)
    • Cifras Sequenciais (pdf)
    • Cifras por Blocos (pdf)

Edições Anteriores

CriptografiaMestrados0506 19 Sep 2008 - 13:41 - r9 JoseBacelarAlmeida
Notícias

  • Sumário: Certificate Revocation Lists. Problemas do X.509. Public Key Cryptography Standards. -- ManuelBernardoBarbosa - 19 May 2006

  • Sumário: Digital Signature Algorithm. Protocolos de Identificação: conhecimento zero, desafio-resposta. -- ManuelBernardoBarbosa - 28 Apr 2006

  • Sumário: RSA OAEP. Assinaturas digitais. Protocolo Station to Station. -- ManuelBernardoBarbosa - 21 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 08 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 31 Mar 2006.

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB. -- ManuelBernardoBarbosa - 25 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 11 Mar 2006.

Education.Criptografia (MICEI)

2005-2006


Docente

Programa

  • Conceitos Fundamentais
    • Education.Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Cifras simétricas, distribuição e acordo de chaves
    • Cifras assimétricas e Education.Criptografia de Chave Pública
    • Assinaturas digitais e Message Authentication Codes
    • Identificação
  • Certificação e Public Key Infrastructure (PKI)
    • Certificados e CRLs
    • Autoridades de Registo
    • Autoridades de Certificação
    • Cadeias e Hierarquias de Certificação
    • Public Key Cryptography Standards (PKCS)
  • Aplicações e Protocolos Criptográficos Comerciais
    • Pretty Good Privacy (PGP)
    • Secure Sockets Layer (SSL)
    • IPsec
    • Kerberos
    • SSH

Horário das Aulas

  • MICEI: Sábado das 9:00 às 11:00 (DI 0.04)

Critérios de Avaliação

  • Hipótese 1
    • Exame Teórico (100%)
  • Hipótese 2
    • Trabalho Prático (100%)

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Material Disponibilizado

Edições Anteriores


ManuelBernardoBarbosa - 21 Feb 2006

CriptografiaMestrados0607 19 Sep 2008 - 13:41 - r18 JoseBacelarAlmeida

Criptografia (MICEI) / Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados (MSDPA)

Ano Lectivo 2006-2007


Ano Lectivo 2006-2007

Docente

Programa

  • Conceitos Fundamentais
    • Criptografia, Criptoanálise e Criptologia
    • Conceitos de cifra, chave e comunicação segura
    • Cifras simétricas, distribuição e acordo de chaves
    • Cifras assimétricas e Criptografia de Chave Pública
    • Assinaturas digitais e Message Authentication Codes
    • Identificação
  • Certificação e Public Key Infrastructure (PKI)
    • Certificados e CRLs
    • Autoridades de Registo
    • Autoridades de Certificação
    • Cadeias e Hierarquias de Certificação
    • Public Key Cryptography Standards (PKCS)
  • Aplicações e Protocolos Criptográficos Comerciais
    • Pretty Good Privacy (PGP)
    • Secure Sockets Layer (SSL)
    • IPsec
    • Kerberos
    • SSH

Horário das Aulas

  • MICEI/MSDPA: Sexta das 14:00 às 16:00 (DI A2)

Critérios de Avaliação

  • Exame Teórico (50%) + Trabalho Prático (50%)

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Material Disponibilizado

Avaliação

Mestrado em Informática

Nome Trab. Prático Exame FINAL
Giovan Germoglio 14 10.2 12
Oscar Dias 16 16.3 16

Mestrado em Sistemas de Dados e Processamento Analítico

Nome Trab. Prático Exame FINAL
António Ferreira 16 11.4 14
Bruno Nunes 13 17 15
Carla Santos 17 13.1 15
Ibraim Torres 17 11.1 14
Joel Ribeiro 18 14.7 16
José Pedro Pinto 17 18.6 18
Luis Ferros 18 15.8 17
Rui Afonseca 17 19.2 18
Sabrina Cruz 14    
Sílvia Soares 11 7.5 10

Trabalhos Práticos

Calendário de Apresentação dos Trabalhos Práticos

Data Projecto Nome Slides
11-05 JCA/JCE Rui Afonseca Apresentação (PPT), Relatório (PDF)
11-05 Criptografia sobre Curvas Elípticas Ibraim Torres Apresentação (PDF), Relat. (PDF)
18-05 ----- --- ---
18-05 ----- --- ---
25-05 RSA - OAEP Sílvia Soares Apresentação (PPT), Relatório (DOC)
25-05 Máquina de Cifra Enigma Oscar Dias Apresentação (PDF), Simul. (ZIP)
01-06 Criptografia em Aplicações Web (PHP) Bruno Nunes Apresentação (PPT), Relat. (PDF)
01-06 Segurança em Redes Wireless Giovan Germoglio Apresentação (PDF)
01-06 Técnicas de Data-Mining para Criptoanálise Joel Tiago Ribeiro Apres. (PPT), Relat. (PDF), Aplic. (ZIP)
08-06 Aspectos de Segurança em Data-Warehouse Sabrina Cruz  
08-06 Criptografia Clássica José Pedro Pinto Apresentação (PPT)
08-06 Segurança em Web-Services Carla Santos Apres. (PPT), Rel. (PDF)

Monografias

Tema Nome Monografia
Dinheiro Digital António Ferreira Monografia (PDF)
Certificados Digitais - Sistema de Certificação Electrónica do Estado (SCEE) Luis Miguel Ferros Monografia (PDF)

Edições Anteriores


ElementosCriptografia0304 19 Sep 2008 - 13:35 - r15 JoseBacelarAlmeida

Elementos/Fundamentos de Education.Criptografia

2003-2004


Notas

Responsável pela Disciplina

JoseManuelValenca

Equipa Docente

Horários das Aulas

  • Teórica: 5a das 11:00 às 13:00 (Sala DI-2)
  • Teórico Prática: 5a das 14:00 às 16:00 (Sala DI-2)

Horários de Atendimento

Docente Horário
JoseManuelValenca  
ManuelBernardoBarbosa 3as 14-16, 5as 16-18

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 40% (opcional)
    • (No caso do trabalho prático não ser realizado, a nota final será limitada a 12 valores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um trabalho prático cujo enunciado está disponível aqui.
    • O trabalho será realizado extra-aulas, individualmente.
    • Será necessário efectuar uma apresentação do trabalho efectuado, e entregar uma listagem comentada do código desenvolvido.
    • Para aqueles alunos que gostariam de realizar um Trabalho Prático com outras características, aqui estão algumas ideias (Projectos.pdf). Para mais informação contactar ManuelBernardoBarbosa.

Objectivos

Este curso pretende divulgar as técnicas criptográficas base que são mais relevantes à segurança dos sistemas de informação, em geral, e das comunicações electrónicas em particular.

Em alternativa à tradicional criptografia militar e diplomática, a ênfase do curso vai ser na chamada criptografia civil que tem como área de aplicação privilegiada o sector financeiro mas que se tem vindo a estender à globalidade dos sistemas de informação.

A divulgação e disponibilização de meios computacionais eficientes e baratos veio tornar obsoletas muitas das técnicas criptográficas tradicionais cuja segurança dependia, essencialmente, do seu desconhecimento público.

Ao invés, neste curso estudaremos uma nova geração de técnicas criptográficas que as vieram substituir as tradicionais e que, ao contrário destas, são técnicas abertas. Isto significa que os algoritmos e as metodologias de gestão de informação a eles associadas são publicamente conhecidos. Também significa que a sua segurança deve ser mais exigente porque tem de sobreviver ao escrutínio público.

Todas as técnicas criptográficas procuram resolver um ou mais dos problemas clássicos da comunicação segura:

  • Confidencialidade - É o problema que estuda o controlo do conhecimento da informação. Neste curso estudaremos cifras que constituem a técnica mais usual de garantir a confidencialidade da informação. Veremos várias classes de cifras adaptadas a requisitos distintos.
  • Autenticidade - Em termos de criptografia civil este é, talvez, o problema essencial. Estuda-se as circunstâncias em que items de informação (documentos electrónicos, ordens de pagamento, registos numa base de dados, etc.) são autênticos no sentido em que existem garantias de integridade e têm perfeitamente identificados os seus titulares. As assinaturas digitais são as técnicas base, estudadas neste curso, para lidar com este problema.
  • Identificação - Estudas as relações de entidades (pessoas, organizações e sistemas de informação) entre si. O reconhecimento da identidade de um utilizador num sistema operativo é, talvez, a versão mais conhecida deste problema. No entanto hoje em dia, com a crescente divulgação dos serviços mais variados através de meios electrónicos, a identificação de utilizadores legítimos desses serviços é um problema extremamente premente. As técnicas de identificação podem ter várias naturezas: podem ser baseadas em cifras ou em assinaturas digitais mas podem também ser baseadas em funções de hash.

É importante frisar que as técnicas criptográficas estudadas neste curso são o cerne das metodologias criptográficas usadas em aplicações concretas mas não definem completamente essas metodologias. Fica de fora deste curso toda a componente de protocolos criptográficos que será objecto de uma disciplina subsequente.

Programa Resumido

  • Terminologia 
    • Canais seguros de informação. 
    • Os objectivos e os problemas da Education.Criptografia. 
    • Noção de cifra simétrica. 
    • Noção de criptografia de chave públicas: cifras, assinaturas e protocolos.
  • Cifras Simétricas 
    • Estudo das cifras orientadas à eficiência computacional. 
    • Cifras sequenciais para processamento de informação em tempo real. 
    • Cifras por blocos; seus modos e standards: DES e AES. 
    • Introdução à criptoanálise linear e diferencial.
  • Teoria dos Números
    • Técnicas de teoria dos números em criptografia. 
    • Divisibilidade. 
    • Função de Euler-Phi. 
    • Teoremas de Fermat e Chinês dos Restos.Factorização. 
    • Grupos Cíclicos e o logaritmo discreto. 
    • Números primos e factorização.
  • Education.Criptografia de Chave Pública baseada na Factorização de Inteiros
    • As técnicas RSA e Rabin. Cifras, assinaturas e protocolos. 
    • Assinaturas com recuperação de mensagem.
  • Education.Criptografia de Chave Pública baseada no PLD
    • Segurança e o PLD (Problema do Logaritmo Discreto). 
    • O protocolo de Diffie-Hellman. Técnicas El Gamal (cifra e assinatura). 
    • Esquema de assinaturas DSA.
  • Education.Criptografia de Chave Pública: Protocolos
    • Protocolos de acordo e pré-distribuição de chaves. 
    • Protocolos de identificação. 
  • Certificados.
  • Education.Criptografia de Chave Pública baseada em Curvas Elípticas
    • O standard IEEE P1363. 
    • Técnicas criptográficas baseadas no PLDCE: 
      • cifras (El Gamal e ECES)
      • assinaturas (Nyberg-Rueppel e ECDSA)
      • protocolos (MQV e MO).

Bibliografia

Apontamentos Teóricos, José Valença, Departamento de Informática, Universidade do Minho.

Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier John Wiley & Sons, 1995.

Cryptography: Theory and Practice, Douglas R. Stinson CRC Press, 1995.

A Course in Number Theory and Cryptography, Neal Koblitz Springer-Verlag, 1994. (2nd edition)


-- ManuelBernardoBarbosa - 25 Fev 2004

ElementosCriptografia0405 19 Sep 2008 - 13:35 - r10 JoseBacelarAlmeida
Notícias

27 Jul Já sairam as notas da época de recurso.

15 Jul Já sairam as notas da época normal.

1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem a entrega por email.

31 Mar Foi publicado o enunciado do segundo trabalho prático.

15 Mar Na próxima Sexta, 18 de Março, decorrerá no DI-A1 às 14:00 uma palestra sobre os primórdios da criptografia em Portugal. Apareçam!

14 Mar Já existem ideias para projectos alternativos. Vejam aqui.

9 Mar Foi publicado o enunciado do primeiro trabalho prático.

16 Fev A apresentação desta opção será no dia 21 Fev às 15h10 no DI-A2.

Elementos/Fundamentos de Education.Criptografia

Licenciatura em Engenharia de Sistemas e Informática
Licenciatura em Matemática e Ciências da Computação
4º Ano - 2º Semestre
Ano lectivo 2004-2005


Responsável

Equipa Docente

Docente Atendimento
JoseManuelValenca (T)  
AlcinoCunha (TP) 2a das 9:00 às 11:00, 6a das 10:00 às 12:00

Horário das Aulas

  • Teórica: 4a das 8:00 às 10:00 (DI A2)
  • Teórico-prática: 5a das 9:00 às 11:00 (DI 1.04)

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critério de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 40%
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um conjunto de trabalho práticos, cujo enunciado se encontra aqui.
    • Os trabalhos serão realizado extra-aulas e individualmente.
    • Será necessário efectuar uma apresentação dos trabalhos efectuados, e entregar uma listagem comentada do código desenvolvido.
    • Alternativamente, poderão realizar um dos projectos descritos aqui.

  • Notas da época normal (pdf)
  • Notas da época recurso (pdf)

Objectivos

Este curso pretende divulgar as técnicas criptográficas base que são mais relevantes à segurança dos sistemas de informação, em geral, e das comunicações electrónicas em particular.

Em alternativa à tradicional criptografia militar e diplomática, a ênfase do curso vai ser na chamada criptografia civil que tem como área de aplicação privilegiada o sector financeiro mas que se tem vindo a estender à globalidade dos sistemas de informação.

A divulgação e disponibilização de meios computacionais eficientes e baratos veio tornar obsoletas muitas das técnicas criptográficas tradicionais cuja segurança dependia, essencialmente, do seu desconhecimento público.

Ao invés, neste curso estudaremos uma nova geração de técnicas criptográficas que as vieram substituir as tradicionais e que, ao contrário destas, são técnicas abertas. Isto significa que os algoritmos e as metodologias de gestão de informação a eles associadas são publicamente conhecidos. Também significa que a sua segurança deve ser mais exigente porque tem de sobreviver ao escrutínio público.

Todas as técnicas criptográficas procuram resolver um ou mais dos problemas clássicos da comunicação segura:

  • Confidencialidade - É o problema que estuda o controlo do conhecimento da informação. Neste curso estudaremos cifras que constituem a técnica mais usual de garantir a confidencialidade da informação. Veremos várias classes de cifras adaptadas a requisitos distintos.
  • Autenticidade - Em termos de criptografia civil este é, talvez, o problema essencial. Estuda-se as circunstâncias em que items de informação (documentos electrónicos, ordens de pagamento, registos numa base de dados, etc.) são autênticos no sentido em que existem garantias de integridade e têm perfeitamente identificados os seus titulares. As assinaturas digitais são as técnicas base, estudadas neste curso, para lidar com este problema.
  • Identificação - Estudas as relações de entidades (pessoas, organizações e sistemas de informação) entre si. O reconhecimento da identidade de um utilizador num sistema operativo é, talvez, a versão mais conhecida deste problema. No entanto hoje em dia, com a crescente divulgação dos serviços mais variados através de meios electrónicos, a identificação de utilizadores legítimos desses serviços é um problema extremamente premente. As técnicas de identificação podem ter várias naturezas: podem ser baseadas em cifras ou em assinaturas digitais mas podem também ser baseadas em funções de hash.

É importante frisar que as técnicas criptográficas estudadas neste curso são o cerne das metodologias criptográficas usadas em aplicações concretas mas não definem completamente essas metodologias. Fica de fora deste curso toda a componente de protocolos criptográficos que será objecto de uma disciplina subsequente.

Programa Resumido

  • Terminologia 
    • Canais seguros de informação. 
    • Os objectivos e os problemas da Education.Criptografia. 
    • Noção de cifra simétrica. 
    • Noção de criptografia de chave públicas: cifras, assinaturas e protocolos.
  • Cifras Simétricas 
    • Estudo das cifras orientadas à eficiência computacional. 
    • Cifras sequenciais para processamento de informação em tempo real. 
    • Cifras por blocos; seus modos e standards: DES e AES. 
    • Introdução à criptoanálise linear e diferencial.
  • Teoria dos Números
    • Técnicas de teoria dos números em criptografia. 
    • Divisibilidade. 
    • Função de Euler-Phi. 
    • Teoremas de Fermat e Chinês dos Restos.Factorização. 
    • Grupos Cíclicos e o logaritmo discreto. 
    • Números primos e factorização.
  • Education.Criptografia de Chave Pública baseada na Factorização de Inteiros
    • As técnicas RSA e Rabin. Cifras, assinaturas e protocolos. 
    • Assinaturas com recuperação de mensagem.
  • Education.Criptografia de Chave Pública baseada no PLD
    • Segurança e o PLD (Problema do Logaritmo Discreto). 
    • O protocolo de Diffie-Hellman. Técnicas El Gamal (cifra e assinatura). 
    • Esquema de assinaturas DSA.
  • Education.Criptografia de Chave Pública: Protocolos
    • Protocolos de acordo e pré-distribuição de chaves. 
    • Protocolos de identificação. 
  • Certificados.
  • Education.Criptografia de Chave Pública baseada em Curvas Elípticas
    • O standard IEEE P1363. 
    • Técnicas criptográficas baseadas no PLDCE: 
      • cifras (El Gamal e ECES)
      • assinaturas (Nyberg-Rueppel e ECDSA)
      • protocolos (MQV e MO).

Bibliografia

  • Applied Cryptography: Protocols, Algorithms and Source Code in C, Bruce Schneier. John Wiley & Sons, 1995.
  • Cryptography: Theory and Practice, Douglas R. Stinson. CRC Press, 1995.
  • A Course in Number Theory and Cryptography, Neal Koblitz. Springer-Verlag, 1994. (2nd edition)

Edições Anteriores

ElementosCriptografia0506 14 May 2009 - 23:35 - r19 JoseBacelarAlmeida
Notícias

Projectos - a data limite para a entrega dos projectos (protocolo Multicert/UM) é 30 de Setembro de 2006.

-- JoseBacelarAlmeida - 11 Set 2006

Classificações - As classificações já foram actualizadas com as notas da época de recurso. Encontram-se aqui.

-- JoseBacelarAlmeida - 29 Jul 2006

Classificações da época normal - Já estão disponíveis as classificações da época normal (1ª e 2ª chamadas). Encontram-se aqui.

-- JoseBacelarAlmeida - 17 Jul 2006

Notas da componente prática - Já está disponível a avaliação da componente prática da disciplina (aqui).

-- JoseBacelarAlmeida - 5 Jul 2006

Apontamentos (versão final) - Já está disponível a versão final dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 2 Jun 2006

Data de entrega do 2º trabalho - A data de entrega do 2º trabalho foi alterada para 8/6/2006.

-- JoseBacelarAlmeida - 25 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 23 May 2006

Projectos - já estão disponíveis as propostas de projectos no âmbito do protocolo Multicert/UM.

-- JoseBacelarAlmeida - 18 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 May 2006

Aula sobre prova de segurança do ElGamal - A aula de 11/05/2006 será dada pelo prof. Manuel Barbosa, sobre a prova de segurança da cifra ElGamal.

-- JoseBacelarAlmeida - 11 May 2006

Palestra - O coordenador Socrates/Erasmus, aproveitando a visita da Professora Tatjana Weltzer (Univ. Maribor, Eslovénia), sugeriu que a aula prática de 04/05/2006 fosse dedicada à assistencia da palestra Data Reusability. Por esse motivo a aula terá lugar no anfiteatro DI-A2.

-- JoseBacelarAlmeida - 03 May 2006

Apontamentos - Foram disponibilizados (secção da bibliografia) os apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 Apr 2006

JOIN'06 - Dada a realização das JOIN, não haverá aula TP no dia 06/04/2006 (ou mais precisamente, a aula será nas próprias jornadas).

-- JoseBacelarAlmeida - 04 Apr 2006

Elementos/Fundamentos de Education.Criptografia

Licenciatura em Engenharia de Sistemas e Informática
Licenciatura em Matemática e Ciências da Computação
4º Ano - 2º Semestre
Ano lectivo 2005-2006


Responsável

Equipa Docente

Docente Atendimento
JoseManuelValenca (T)  
JoseBacelarAlmeida (TP) 2a das 11:00 às 13:00, 2a das 14:00 às 16:00

Horário das Aulas

  • Teórica: 4a das 8:00 às 10:00 (DI A2)
  • Teórico-prática: 5a das 14:00 às 16:00 (DI 1.04)

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critério de Avaliação

  • Nota final
    • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 30%
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um conjunto de guiões e de pequenos trabalhos.

Opcionalmente, os alunos poderão ainda realizar um projecto individual (ver lista de propostas em ElementosCriptografiaProjs0506). Esse projecto consistirá numa monografia (eventualmente com uma componente de programação) sobre um tema relacionado com a disciplina, e combinado em conjunto com o docente. O peso deste projecto na avaliação da disciplina dependerá da dificuldade e abrangência do tema escolhido.

Notas

As classificações encontram-se disponíveis aqui.

Objectivos

Este curso introduz as técnicas criptográficas base relevantes à segurança dos sistemas de informação. Coloca ênfase especial na fundamentação matemática dessas técnicas e deixa para uma disciplina subsequente a sua aplicação em sistemas de informação concretos.

Programa Resumido

(versão PDF)

  • Introdução e Terminologia
    • Complexidade Computacional
    • Conhecimento, Incerteza e Entropia
    • Confiança, Acreditação, Autoridades e Verificação

  • Princípios Nucleares
    • Confiança
    • Computações
    • Conhecimento Zero
    • Unidirecionalidade
    • Aleatoriedade
    • "Hashing"

  • Teoria dos Números
    • Divisibilidade
    • Resultados Fundamentais da Divisibilidade
    • Raízes Quadradas
    • Algoritmos Básicos
    • Corpos Finitos
    • Corpos de Galois
    • Geração de sequências pseudo-aleatórias
    • Factorização de Inteiros
    • Logaritmo Discreto
    • Curvas Elípticas
    • Emparelhamentos ("Pairings")

  • Funções Booleanas
    • Funções de argumento Bn
    • Técnicas espectrais
    • Composição de funções booleanas
    • Diferenças, Linearidade e sua Criptoanálise
    • Funções de argumento GF(2n)
    • Criptoanálise Algébrica

  • Education.Criptografia Simétrica
    • Estrutura das cifras simétricas
    • Não-linearidade, difusão e mistura
    • Modos de operação

Aulas Práticas

Sessões laboratoriais onde se utiliza o sistema PARI-GP na resolução de pequenos problemas sobre a matéria da disciplina.

Bibliografia

Edições Anteriores

ElementosCriptografia0607 19 Sep 2008 - 13:36 - r12 JoseBacelarAlmeida
Notícias

Notas - saíram as notas da 1ª chamada

-- PaulaCristinaValenca? - 27 Jul 2007

JOIN'07 - devido a estar a decorrer as join'07, não haverá aula dia 10/05.

-- PaulaCristinaValenca? - 09 May 2007

Alteração da data de entrega de trabalho - a data limite para entrega do primeiro trabalho prático foi alterada para 7 de Maio 2007.

-- PaulaCristinaValenca? - 24 Apr 2007

Aula cancelada - a aula de 19/04 não irá decorrer.

-- PaulaCristinaValenca? - 18 Apr 2007

Trabalho Prático - o enunciado do primeiro trabalho prático está disponível aqui

-- PaulaCristinaValenca? - 15 Apr 2007

Mudança de sala - as aulas TP decorrerão a partir desta semana na sala 003

-- PaulaCristinaValenca? - 13 Mar 2007

Apontamentos - actualização.

-- PaulaCristinaValenca? - 12 Mar 2007

Apontamentos - a primeira parte dos apontamentos teóricos da disciplina está disponível na secção da bibliografia.

-- PaulaCristinaValenca? - 05 Mar 2007

Elementos/Fundamentos de Criptografia

Licenciatura em Engenharia de Sistemas e Informática
Licenciatura em Matemática e Ciências da Computação
4º Ano - 2º Semestre
Ano lectivo 2006-2007


Responsável

Equipa Docente

Docente Atendimento
JoseManuelValenca (T)  
PaulaCristinaValenca? (TP) 4a das 11:00 às 13:00, 2a das 16:00 às 18:00

Horário das Aulas

  • Teórica: 2a das 14:00 às 16:00 (DI A2)
  • Teórico-prática: 5a das 16:00 às 18:00 (DI 0.03)

Pré-Requisitos

Não há pré-requisitos para frequentar esta disciplina.

Critério de Avaliação

  • Nota final
    • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
    • Componente Prática (Trabalho Prático): 30%
  • Avaliação prática
    • A componente prática da nota resulta da avalição de um conjunto de guiões e de pequenos trabalhos.

Opcionalmente, os alunos poderão ainda realizar um projecto individual (ver lista de propostas em ElementosCriptografiaProjs0506). Esse projecto consistirá numa monografia (eventualmente com uma componente de programação) sobre um tema relacionado com a disciplina, e combinado em conjunto com o docente. O peso deste projecto na avaliação da disciplina dependerá da dificuldade e abrangência do tema escolhido.

Notas

Objectivos

Este curso introduz as técnicas criptográficas base relevantes à segurança dos sistemas de informação. Coloca ênfase especial na fundamentação matemática dessas técnicas e deixa para uma disciplina subsequente a sua aplicação em sistemas de informação concretos.

Programa Resumido

(versão PDF)

  • Introdução e Terminologia
    • Complexidade Computacional
    • Conhecimento, Incerteza e Entropia
    • Confiança, Acreditação, Autoridades e Verificação

  • Princípios Nucleares
    • Confiança
    • Computações
    • Conhecimento Zero
    • Unidirecionalidade
    • Aleatoriedade
    • "Hashing"

  • Teoria dos Números
    • Divisibilidade
    • Resultados Fundamentais da Divisibilidade
    • Raízes Quadradas
    • Algoritmos Básicos
    • Corpos Finitos
    • Corpos de Galois
    • Geração de sequências pseudo-aleatórias
    • Factorização de Inteiros
    • Logaritmo Discreto
    • Curvas Elípticas
    • Emparelhamentos ("Pairings")

  • Funções Booleanas
    • Funções de argumento Bn
    • Técnicas espectrais
    • Composição de funções booleanas
    • Diferenças, Linearidade e sua Criptoanálise
    • Funções de argumento GF(2n)
    • Criptoanálise Algébrica

  • Education.Criptografia Simétrica
    • Estrutura das cifras simétricas
    • Não-linearidade, difusão e mistura
    • Modos de operação

Aulas Práticas

Sessões laboratoriais onde se utiliza o sistema PARI-GP na resolução de pequenos problemas sobre a matéria da disciplina.

Bibliografia

Edições Anteriores

ElementosCriptografiaNews0405 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
27 Jul Já sairam as notas da época de recurso.

15 Jul Já sairam as notas da época normal.

1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem a entrega por email.

31 Mar Foi publicado o enunciado do segundo trabalho prático.

15 Mar Na próxima Sexta, 18 de Março, decorrerá no DI-A1 às 14:00 uma palestra sobre os primórdios da criptografia em Portugal. Apareçam!

14 Mar Já existem ideias para projectos alternativos. Vejam aqui.

9 Mar Foi publicado o enunciado do primeiro trabalho prático.

16 Fev A apresentação desta opção será no dia 21 Fev às 15h10 no DI-A2.

ElementosCriptografiaNews0506 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
Projectos - a data limite para a entrega dos projectos (protocolo Multicert/UM) é 30 de Setembro de 2006.

-- JoseBacelarAlmeida - 11 Set 2006

Classificações - As classificações já foram actualizadas com as notas da época de recurso. Encontram-se aqui.

-- JoseBacelarAlmeida - 29 Jul 2006

Classificações da época normal - Já estão disponíveis as classificações da época normal (1ª e 2ª chamadas). Encontram-se aqui.

-- JoseBacelarAlmeida - 17 Jul 2006

Notas da componente prática - Já está disponível a avaliação da componente prática da disciplina (aqui).

-- JoseBacelarAlmeida - 5 Jul 2006

Apontamentos (versão final) - Já está disponível a versão final dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 2 Jun 2006

Data de entrega do 2º trabalho - A data de entrega do 2º trabalho foi alterada para 8/6/2006.

-- JoseBacelarAlmeida - 25 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 23 May 2006

Projectos - já estão disponíveis as propostas de projectos no âmbito do protocolo Multicert/UM.

-- JoseBacelarAlmeida - 18 May 2006

Apontamentos - Nova versão dos apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 May 2006

Aula sobre prova de segurança do ElGamal - A aula de 11/05/2006 será dada pelo prof. Manuel Barbosa, sobre a prova de segurança da cifra ElGamal.

-- JoseBacelarAlmeida - 11 May 2006

Palestra - O coordenador Socrates/Erasmus, aproveitando a visita da Professora Tatjana Weltzer (Univ. Maribor, Eslovénia), sugeriu que a aula prática de 04/05/2006 fosse dedicada à assistencia da palestra Data Reusability. Por esse motivo a aula terá lugar no anfiteatro DI-A2.

-- JoseBacelarAlmeida - 03 May 2006

Apontamentos - Foram disponibilizados (secção da bibliografia) os apontamentos teóricos da disciplina.

-- JoseBacelarAlmeida - 11 Apr 2006

JOIN'06 - Dada a realização das JOIN, não haverá aula TP no dia 06/04/2006 (ou mais precisamente, a aula será nas próprias jornadas).

-- JoseBacelarAlmeida - 04 Apr 2006

ElementosCriptografiaNews0607 19 Sep 2008 - 13:36 - r9 JoseBacelarAlmeida
Notas - saíram as notas da 1ª chamada

-- PaulaCristinaValenca? - 27 Jul 2007

JOIN'07 - devido a estar a decorrer as join'07, não haverá aula dia 10/05.

-- PaulaCristinaValenca? - 09 May 2007

Alteração da data de entrega de trabalho - a data limite para entrega do primeiro trabalho prático foi alterada para 7 de Maio 2007.

-- PaulaCristinaValenca? - 24 Apr 2007

Aula cancelada - a aula de 19/04 não irá decorrer.

-- PaulaCristinaValenca? - 18 Apr 2007

Trabalho Prático - o enunciado do primeiro trabalho prático está disponível aqui

-- PaulaCristinaValenca? - 15 Apr 2007

Mudança de sala - as aulas TP decorrerão a partir desta semana na sala 003

-- PaulaCristinaValenca? - 13 Mar 2007

Apontamentos - actualização.

-- PaulaCristinaValenca? - 12 Mar 2007

Apontamentos - a primeira parte dos apontamentos teóricos da disciplina está disponível na secção da bibliografia.

-- PaulaCristinaValenca? - 05 Mar 2007

ElementosCriptografiaNotas0506 26 Feb 2007 - 00:08 - r3 JoseBacelarAlmeida

Avaliação de Elementos/Fundamentos de Education.Criptografia


Classificações

LESI

Num. Nome Prática 1ª Cham. 2ª Cham. Exame Recurso FINAL
35272 Ana Luisa Parreira Nunes 17   10.2 10.2   12
35290 Carlos Miguel Martins da Silva 14.5   4.5 4.5   Rep
38180 João Carlos Azevedo Salgado Guimarães 17 15.6   15.6   16
38175 João Paulo da Silva Gomes 10       10.7 11
35326 João Pedro Soares Henriques 14.5         Rep
35333 José Filipe Queijo Fernandes           Rep
38178 Marco Alexandre Teixeira Palos 14         Rep
33194 Miguel Alexandre Lopes Oliveira da Costa Ferreira 16   8.8 8.8   11
38221 Miguel Ângelo Vivas Gomes Alves 15   12.1 12.1   13
38116 Pedro José Martins Faria 14         Rep
39829 Ricardo Filipe Liquito Balinha 17       10.1 12
38141 Rúben Filipe Cardoso da Fonseca 15   8.6 8.6   11

LMCC

Num. Nome Prática 1ª Cham. 2ª Cham. Exame Recurso FINAL
33684 António Augusto Dias de Castro Ribeiro da Silva 16 10.4   10.4   12
38582 Elisabete Fonseca Ferreira 15       13.1 14
35821 Gonçalo Martins Gomes           Rep
39442 Hugo Daniel dos Santos Macedo 17   11.6 11.6   13
33705 João Manuel Lourenço Caldeira Pinto 10         Rep
38589 Luis Miguel Vieira da Silva Braga 14   6.9 6.9 8.8 10
18706 Paula Cristina Neves Ferreira           Rep


Avaliação Prática

Num. Nome Trab.1 Trab.2 FINAL
         
38589 Luis Miguel V. S. Braga B- B 14
38141 Ruben Filipe Cardoso Fonseca MB- B 15
38221 Miguel Ângelo V. Alves MB- B 15
         
33684 António Augusto Dias Castro Silva MB B 16
33194 Miguel Alexandre Ferreira MB B 16
         
38178 Marco Alexandre Teixeira Palos B S+ 14
38116 Pedro José Martins Faria B S+ 14
         
35326 João Pedro Soares Henriques B+ S+ 14.5
35290 Carlos Miguel Martins Silva B+ S+ 14.5
         
35272 Ana Luisa P. Nunes MB- MB- 17
39829 Ricardo Filipe Balinha MB- MB- 17
         
38175 João Paulo da Silva Gomes S+   10
         
35493 João Pedro da Costa A. Barbosa B   11
         
38582 Elisabete Ferreira MB- B- 15
39846 Helder Sérgio Alves Teixeira MB- B- 15
         
39442 Hugo Daniel dos Santos Macedo MB B+ 17
         
38180 João Carlos Azevedo Guimarães B+ MB 17
         
33705 João C. Pinto S+   10
         

Data de Entrega dos Desafios do Trab. 1

Num. des.1 des.2 des.3 des.4 des.5
38589 17/3 20/3 22/3 22/3  
38141,38221 17/3 20/3 22/3 22/3 23/3
35272,39829 19/3 20/3 24/3 24/3 24/3
39442 20/3 20/3 20/3 20/3 20/3
33194 22/3 22/3 22/3 22/3 22/3
35290,35326     22/3    
ElementosCriptografiaNotas0607 19 Sep 2008 - 13:35 - r3 JoseBacelarAlmeida

Avaliação de Elementos de Criptografia


Classificações

Num. Nome Trab.1 Trab.2 FINAL Exame 1a
           
33629 Carla Marisa Dias da Costa 14     4
41032 Elísio Maciel Simão 10      
34172 Filipa Borges        
33643 Isabel Maria Afonso Fernandes 10      
41031 Rui Carlos A. Gonçalves 18     7.5
28126 Sandra Liliana Meira de Oliveira 16     12
35862 Sofia Helena Roriz Moreira 16     5
20838 Vitor Manuel Sá Pereira 19     10

-- PaulaCristinaValenca? - 27 Jul 2007

ElementosCriptografiaProjs0506 26 Feb 2007 - 00:10 - r9 JoseBacelarAlmeida

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:

ElementosCriptografiaTP0405 26 Feb 2007 - 00:20 - r5 JoseBacelarAlmeida

Elementos de Education.Criptografia

Trabalho Prático 1 (9 Mar)

Efectue a criptoanálise destes quatro criptogramas que foram obtidos recorrendo a cifras de substituição, Affine e Vigenere. Deve que determinar que cifra foi utilizada em cada um dos casos. Apresente todo o trabalho que desenvolver, incluindo o código, e explique como chegou a uma solução. Não é suficiente apresentar o texto limpo.

Os textos limpos são em Português, e não contêm acentuação de nenhum tipo, espaços ou pontuação. Os valores típicos da análise de frequência aplicáveis em Inglês não são aplicáveis neste caso: terão de ser calculados propositadamente para este efeito. Quanto melhor for a qualidade dos valores que obtiver, maiores serão as hipóteses de que os seus palpites estejam correctos.

JFHLTZZJHBVOHSBTJSOHSHBIHEBWHGJZLBQTQJZSJOJJEVQJOMTWJWFBTOJLBWKBHZJXOTFVAKHOBZJB
WMOBWKJOBLFOTZBZWHZBFKHOSOHGHFJQJZSHOQBZJZKOBZWJKVOJTZHVSOHUABLJZFATLJKTFHZFHLHJ
ZBFJDVBJMBFKJSHOKVXJAJSOHSHZKJZHUOBOTZFHZBXBZKJHQBFOTZBZWJJXOTFVAKVOJZBOJJSOBZBW
KJQJJHFHWZBAIHQBLTWTZKOHZQJVWTJHBVOHSBTJJFJKHOYBQBLJOFHBZVXBOBDVBHZJXOTFVAKHOBZB
SOHQVKHOBZQBJWTLJTZZBEJLFHLSBWZJQHZFJZHZHMOJLFHLFJKJZKOHMBZWJKVOJTZSOHUABLJZFATL
JKTFHZFOTZBQBLBOFJQHHVQHBWFJZJWTLJTZZBXVWQHHQHFVLBWKHJDVBJJXBWFTJAVZJKBGBJFBZZHH
HUEBFKTGHBBWFHWKOJOJLBAIHOZHAVFJHSJOJOBZSHWQBOJZZTKVJFHBZQBFOTZBWHZBFKHOJXOTFHAJ
ZVXBOTWQHKOBZHSFHBZZBXVOHJXOTFHAJMVWQHZLVKVHZBTWZKOVLBWKHZQBFOTZB

RAJRXRIPIQBUFLDSDPHOGQIVVLXLUGFLHAEYVWYFMAUDMVVGPIVASMDLKYQVBREVMXNWUEFSOPOQWVAS
SUBGSMFHDHDAKZISRHWHVINLHPXFOQIBWXJRVQIRVAWAVHHKOQQXHRNHWIBTHCWMYWJRRXICIVXXRALD
LHRXUEIQASIUMYBLHSSEFPUQIMULDDJGFMLAHQGWOFNXNGEPMTGWVAUIDTOMIFARHHAKFAREVESWXGII
EFLDLGQMYIGSDWLNKWOGIDTMHUDSGEVIRRODDDWYQZVUDSWIUMSZMQOVHHLKMIVSHMVITBAGELHDLKRI
QEFIVAOQIGEGISZKFMUVDVDLOTVLDDHHLGFXHSVSDAKADRLYMGIYNAVIPESIXGQUDHEPITUIDSVIVAUR
AQOWVLJAAIOMLPLBGELHLLWEWGIIRDHGRZXRZDPRVWILRKKAGESIXNYXEDWDTKTIGAVZLBOZIVPRWVIS
CZHSWEULKPTDRDGRMYFMPLLQLBGPWHSRYFWTFBUAQKLUKABRSRGRTKPBLVRHHRAVHHSDHPQZRVREQXDV
ZBYXERWMWXAIOIVXDAVBLHRDSYQXNBHRDTRAYVJLLLHDLKQMDSVMVBOEIDLJYPIYFMVSRIVLKFBHJXPJ
ISRVWOVIVMPHAWIIMFIXAWIUWYUWGCZRVHHRZGQIFAVESQGQMOIVFRIINBDLLRDXKFBDNDGRUKPWXHRN
HIYRZRUYMGITNYXAOMGIJRLHTHWWMSHVKAGIDKAFIFARRRRAYODMHRWWJBXUOFIVAURUTUHZDZOBAPEQ
SUMYNTXNRWGIWHMOALRVBOGCLCDSVMWHMLXDQGMGOCVOVWHFANQV

XTHSVXOHTLCZSYZLXBAFLCZTHZCFAZXAHMCXNXBGFVAXYZTHZCXZSMHCSXYZFSXBVFNCHAHTFYCXYZXM
HCCFCZVTFHVHOUCXSYXRUHFSMHTVHCHXBZIFUHTTXACZAPFZXAHRUHXBUMXYFSMCXFMHCCFCZVTFAHEH
LCHVHCEXCXAHTFYCXYZXSHVMHHSYFSMCFAHCHPBHJXFHGFTHSXOHTXVEZMZTXVAFVXMHSMXAFVAHFSIH
AHTXCYFAHAFZVTZBHRUXMCFSXYXLZMXBHVLXSGFBXHVMXFLCHVHSMHVMCZSMXHYZSYFXYMUXZVHXSMZO
FVYGHPHVAHHVMXAFHAHOFEHCSFAXHUCFLXXTHCZYXHXVZXAHEHTVHTLCHVHCLCHVHCEXAFVFVLCZSYZL
ZFVAHTFYCXMZYFVSFYFTNXMHXFMHCCFCZVTFFVOFEHCSFVAHEHTAZVMZSOUZCFVAZPHCHSMHVMZLFVAH
MHCCFCZVTFFVOCULFVMHCCFCZVMXVZVFBXAFVAXVUXYFTUSZAXAHYFTXRUHBHVYFTXTLBXNXVHAHXLFZ
FLXCXRUHXCHVLFVMXSXFVHQXZSAZVYCZTZSXAXFYXVMZOFAHEHVHCAZCZOZAFXFVRUHYFTHMHTFXMXRU
HXFVFUMCFVAHEHCZXTFVPXYZBZMXCUTXVXZAXAFOCULFHXCHZSMHOCXYXFZVVFLHCTZMHXOCULFVRUHS
FLXVVXAFCHYFCCHCXTXEZFBHSYZXYFSEHCMHCHTVHHTLXCMZAFVLFBZMZYFV 

LDOMXRGXRGAJREYLMTRTIIDNRRYSWVUAJRQMHXAUHDSUNUXXSWDYQLHAYLNAJYSDHMEWHWXRXEGXFELA
NFUORFCATRBWLXEIDGITOELPOGRCSRQOSHRIJWSESYNRVDSUKUVVSMJHOIDEYHYSJDQSLMAVAWWWYEMD
WHDCTVPCWXGAIDPYOUDVLBHLANRFOSSURVFSMPJOJVWZHFOVVHEGIAHXSMVNOTKSKROSFPCWVYMGUSSV
GEJPCWRLAMHXEPMOZVHSQUOJLURLZITDEYHJOIYSDHMSVQOSWYNYDFECUODDGRROTIDGIXGTZTIIQISL
SZIPYNKRAMOZOCKOWHRIJWSYPCNHXSVLNOZQHMWOLRGCSVGELVZMYLOJRBHHMEGHFKXHTRRGPLPRFVEY
HMERQREDFEIRGUXYSVGSMAURRPOQHCOFVEYHAOJWOVLUMFVRIYYRKUOHXTIURGIPKUVOIKDLEJJCWWUM
FVRIOYRVDGWLGPFURMDHTVQOYONIDDGIPUNRDDEUYCVWWEJIRVESPRUPIHGIQNAURQSPIJFUBEOCSKDS
IVWRZWCVDJRFSCWLNOUHHVDXUTRSWGCZERGSTOEVXUSVNAILOIUUMVVASGYVVUCWOCVIRGTRLTLJIIVY
SKUOHXTIURGRROTIDGPLHGLDGIHMPRQHSVICFPCESLEJHBGDFIKHFEUCAGRFXXAUVVORRYSKUORJYIIR
STUUTZFOQHHTVLBIACSKHBXHBAGDWWHMCFPPIPGEERGMQZLLHBGLUNRFSRDCNKHFRDWIFQOPGIQLHCRR
MSFHQSPGUZWCQDCSVVQVLNOIHGXUUDLCWHRMCFQHEPMEGHZSVXEURGHHOMRPOSRMEJFFMWIRVVDSUNUX
XSWHMCFQHIPJOIDBIRMPLEZMFUDFVBSHMTIDBKHCRFHWWWIEKDCKUUVVTIIDNEURWSVYSTUWXRLEJVOS
RMMRLCVHMEDEOMAUDFUSWGUCLOHYUUDVXATDCSDDGFDMTRYSVDUTVQQERKUVRGWXWEJVWZRMMZQWWWLO
JGOGXFTLUOHDIAFVSWFLIKRFIVUODHFGDXOURZMYLORVTILLAJQOGLINRLGILHTVUBEFCOEDWWHYSKDH
YGIDZWC

Trabalho Prático 2 (29 Mar)

Recupere o texto limpo correspondente a cada um dos seguintes criptogramas obtidos com a cifra RSA. Os textos limpos são em Português, e não contêm acentuação de nenhum tipo, espaços ou pontuação. Note que para módulos pequenos o problema da factorização do módulo é relativamente fácil de resolver. O texto limpo foi dividido em blocos de i letras: cada bloco Li ... L1 L0 é codificado no inteiro Li*(26^i) + ... + L1*26 + L0. No último bloco é sempre inserido padding, correspondendo cada letra inserida ao tamanho do padding. Escreva e use os seus próprios programas para fazer a criptoanálise. Submeta listagens comentadas das partes relevantes do código que produzir, o texto limpo que recuperou e uma explicação de como procedeu para resolver o problema.

  • n = 50551003, b = 43895939, i = 5

48719265 21880419 23965733 14001622 3070522  47443255 48309887 33673752 35549706 49914515 
43921685 41763987 40617457 28547288 24741601 47660212 5408554  20291721 1586284  26316809 
38752125 10669665 5702740  24003390 11736573 3357958  8385983  38988184 6154291  42157963 
43114702 47389753 25802737 29586057 22820212 3690070  50243706 6246549  43436024 163876 
50047952 18202724 22089148 43564874 48311699 31508947 33093643 14605746 43867811 34936684

  • n = 496512267794407, b = 310797528069941, i = 10

494950396530045 360281654495711 368975154129887 30561943863961  334948285104881
18316458143035  96000472684982  133666404416183 409533889130276 350688627329095
213732952172345 60429274433144  63602792292608  268349095750036 103815596223158
464367601174306 170369569453302 317460468215202 378234199027787

  • n = 35284289135845204898669273297, b = 15726997560115741338660832027, i = 2

16594592540948632866410856152 4628705454357396018364171298  26515904109882395927917599254 
16323700905536914131565125686 19129858834350460740923828759 25414556268366263391700381021 
22979061971598930334210341534 11810960361886427149732895484 1085800860141793848945882117 
17654636174389044433202415878 11272843556062964972731697302 18821622262586937231039250826 
25435603738790311227309443963 4827012698550488751951768313  15666427695314052817191701099 
15666427695314052817191701099 11810960361886427149732895484 9866380858673686609452780090 
31641696783154640262798844648 31491823762568666759921435169 17654636174389044433202415878 
35126199541878816183852478437 20056298078993283887887339548 14551027357478031831613617509 
12633638776833338220017642818 30663092625857909816595084761 30224578244323036924848705339 
3128872702613793094100228835  1386820748125155472606902357  13420052590603012550180596268 
8518952267006363930378494507  9529857145202206292577951750  23781581582663358728219167151 
24607738631382740752599647590 4377141701176394900719737566  17095837257824688500219792240 
3128872702613793094100228835  15236705311097736922229162330 1519683421940540807847914743 
4546144604184083487868364999  17095837257824688500219792240 25160415929591742360745266342 
15666427695314052817191701099 14551027357478031831613617509 12633638776833338220017642818 
28027160953063196348757287545 31641696783154640262798844648 32778492478772700203318631446 
4377141701176394900719737566  17095837257824688500219792240 1085800860141793848945882117 
17095837257824688500219792240 2079393894100576310021781669  20590916608497244504872413657 
6809426493653542163806993157  16323700905536914131565125686 32185215707174199438263906801 
1972135201431540827995553840  25414556268366263391700381021 23781581582663358728219167151 
16594592540948632866410856152 17095837257824688500219792240 30970683011186084958082199749

Gere uma chave RSA que permita cifrar blocos de 20 letras, como por exemplo a seguinte:

  • n = 1174131352704207214349241420991791462495108045279851173277
  • a = 935796131047316636883975835187745394794578628568303251791
  • b = 401138724311605979942538127567746219521486438387303984111

Já agora, como extra poderá tentar factorizar este módulo.

Trabalho Prático 3 (5 Maio)

Seja E a curva elíptica y^2 = x^3 + x + 13 definida sobre Z149.

  • Determine o número de pontos em E.
  • Determine se E é ou não um grupo cíclico. Em caso afirmativo encontre um gerador desse grupo. Senão, encontre um elemento com ordem máxima.
  • Decifre o seguinte criptograma determinado com a cifra de Menezes-Vanstone descrito na secção 5.2.2 do livro Cryptography: Theory and Practice. O expoente secreto é a = 100. Cada elemento do texto em claro representa dois caracteres, codificados como A<->1, B<->2, ..., Z<->26 (neste caso, 0 não é permitido no texto em claro).

((10,24),38,68) ((19,22),45,111) ((6,91),22,2) ((69,33),83,54) ((146,79),52,145) ((107,54),49,36)
ElementosCriptografiaTP0506 26 Feb 2007 - 00:20 - r24 JoseBacelarAlmeida

Sessões laboratoriais de EC

5ª feira, 14:00-16:00, DI 1.04


23/02/2006 - Apresentação

Apresentação e inscrição nos turnos.


02/03/2006 - Introdução ao ao PARI/GP

PARI-GP

  • Web page
  • Instalação:
    1. Download do programa (da página web)
    2. Na dictoria source: ./Configure --prefix=$HOME/pari
    3. make; make install
    4. export PATH=$HOME/pari/bin:$PATH
    5. gp
  • Reference Card

Problemas simples:

Funções simples em aritmética modular:

  • Defina uma função que determine o inverso multiplicativo de x\in Zn (note que pode não existir).
  • Defina uma função que determine o grupo multiplicativo Zn*.
  • Modifique a função anterior para que, a cada elemento de x\in Zn*, associe o sub-grupo cíclico gerado por x.


09/03/2006 - Aritmética Modular e RSA

As seguintes funções do PARI/GP vão ser uteis nesta sessão: eulerphi, gcd, bezout, chinese, prime, isprime, ispseudoprime, random. Recomenda-se portanto uma leitura rápida da documentação disponibilizada pelo GP (e.g. ?eulerphi, ou para mais detalhe ??eulerphi).

  • Utilize a função bezout para calcular o inverso multiplicativo de x\in Zn.
  • O teorema chinês dos restos permite resolver um sistema de equações {x = ai [ni]} quando os valores ni são primos entre si dois a dois. Como poderá explorar esse resultado (e função respectiva do GP) para resolver o seguinte sistema de equações?
    • 13 x = 4 [99]
    • 15 x = 56 [101]
  • Codifique uma função que gere aleatóriamente um número primo (o número de dígitos é passado como argumento).
  • Pretende-se codificar o algoritmo RSA. Para tal deverá realizar três funções:
    • rsa_setup, que recebe como argumento o número de dígitos da chave e retorna como resultado o par de chaves.
    • rsa_enc, que recebe como argumento a chave pública e o texto limpo, e retorna o criptograma.
    • rsa_dec, que recebe como argumento a chave privada e o criptograma, e retorna o texto limpo.


16/03/2006 - Ataques ao RSA

  • Correcção do RSA (i.e. x=rsa_dec(rsa_enc(x,pubKey),privKey))
  • Alguns ataques ao RSA:
    • Factorização do módulo
    • Codebook
    • Módulo comum
    • Expoente baixo


Trabalho 1: Cifra RSA

Deverá desenvolver uma script PARI/GP que implemente o algoritmo RSA assim como os ataques estudados a essa cifra. Deve procurar tornar o seu código o mais eficiente possível e não esqueça de incluir comentários por forma a tornar inteligível a sua leitura. Inclua também exemplos que ilustrem as funcionalidades implementadas.

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 30/3/2006.

Desafios:

Tente recuperar o texto limpo correspondente a cada um dos seguintes criptogramas obtidos com a cifra RSA. Os textos limpos são em Português. Note que para módulos pequenos o problema da factorização do módulo é relativamente fácil de resolver. O texto limpo foi dividido em blocos de i letras e codificado sob uma base b: cada bloco Li ... L1 L0 é codificado no inteiro Li*(b^i) + ... + L1*b + L0. Para valores de base b adoptam-se alternativamente o 26 (só se codificam as letras, omitindo-se do texto limpo espaços, dígitos e pontuação) ou 255 (código ascii). No último bloco é sempre inserido padding, correspondendo cada letra inserida ao tamanho do padding. Escreva e use os seus próprios programas para fazer a criptoanálise. Submeta as scripts de código que produzir, o texto limpo que recuperou e uma explicação de como procedeu para resolver o problema.

Importante: note que certos números são apresentados em várias linhas.

  • Problema 1
    • i = 9; b = 255
    • e = 17
    • n = 1249041700673382695459846605609514730554186626237
    • C = 321180546341126455980279730178761953097183911234, 716950862594240028452266734363072497454521223524, 574948179391147816051505896812694387194959833965, 111532735643033423942855061239383848643971241832
  • Problema 2 - Uma mesma mensagem M foi cifrada para três destinatários distintos resultando em C1, C2 e C3. Os parâmetros utilizados foram:
    • i = 29; b = 26
    • e1 = e2 = e3 = 3
    • n1 = 7339811139556615823122116433204023904398461533454681143699547686798 95395710761486433977041087334202131031022237869598972234480380246 70748019733228699398088635793210311345924939173837819595011974404 1458944308322479035696269545435389
    • n2 = 10551118842387729281629728443352288086734202318038326556978629363 87643461149599232735810295170139939550508599355640349872906993902 86287424947045202026909343965313253370799066569052047150238445288 9783863513694420141935182919987207969
    • n3 = 66787488008015564075615898071345013083744411800144184623626939980 95523632027297575911308308620562384855840269609220415026029449041 06785572985937898110504326376313806658941820172438404052482076621 471581424529754975069348027227843883
    • C1 = C2 = C3 = 1397942583169351242004858195909208100459634258305080963095015127 6016199568460358374777794775331783767638927484305527216576
  • Problema 3
    • i = 6; b = 26
    • e = 3
    • n = 6391470411061826399294574162150528765326145415479599749142416894309248161455 17449512309787590608539069992632564642773771493135705574804621403767304660931 39279042063802231438893958813649137968723832554178514469387083227792295356047 773281856489868696857456780247422046270127054298844870602475384663637199209513
    • C = 350915208109496145856, 27661335465828884684696, 31802586529207976000000, 494171409093635852161856, 407524745047362736519656
  • Problema 4
    • i = 6; b = 26
    • e = 7
    • n = 6391470411061826399294574162150528765326145415479599749142416894309248161455 17449512309787590608539069992632564642773771493135705574804621403767304660931 39279042063802231438893958813649137968723832554178514469387083227792295356047 773281856489868696857456780247422046270127054298844870602475384663637199209513
    • C = 32043924526870920534079392028726370777600000000000000, 19306983940121876610266501070351375064373302782143184896, 868570571278402253220237877279110105219431120896, 74155878556235370096776829384639812609423519551832064
  • Problema 5
    • i = 2; b = 255
    • e = 65537
    • n = 1726120091695287336748214486649445090936069756304670744586344362 7091875871740773679233823099712178179358393710196331449844554301 4908468113510758146965296371923698514351552479129463911417817582 4625618889392815511799802366562518515699589132221215938849844735 5096970990510996522873761394696658254094897711248116842246989910 7296684641515320426052691201842320489808621103968851915391479179 3882292176416407903400284274126479429182876522757014113844850087 4109634833892704185454278081338756835822183447573030032642382069 9701757863403235839486294252564058181653989667152484099706921850 32883713278510782005243891336381732676319
    • C[1] = 24492930461896806666688173882443022616341159620904080632491569436 7295145339095154833512450776182636128906766811185274784571366871 5685446002101094904530116176935207126568628230394824693756357468 9261047349588164141823782249091399369881959924516838772369936845 6178403800744692450942825063850358385773429812281228364234067068 2966160669194758123590741440347700009229641826750858540071813978 4579339767379068752950816183878537919228732555913818070867153795 3523665490905907614866228501723203815974064273868106451196543778 3726120453598788613098120872934914753911015457148044860816498106 559653875138348551486855579718238577296
    • C[2] = 1673366376448871596834627029054078736527949106585297997884439572 3773007701671233121396405519318355002837431067518086946826468284 3164992255899700683067117772718526650944025177933368337844768808 0834168210617200696150674134650143117386345449740059114962289307 4654123612602714960248641487702147193379776782836852929079119885 5212422362455070495259827227866489717433246635381324670887164118 6174496983301260624395049965468369272669276130211823362733002054 2788531705808012398283863718970174343311709203322443500718670680 2267624433909804125958755325226693899085860632774554753505434457 20507641793760440454760670110940875121791
    • C[3] = 1009557433344333314360404743038565945317821467070447532549243230 3878307928053154605638345591744954830780686496595727400596980725 4321478131207133963656485184082856670301082572342552334483706159 3276231401353103303555517747531454878970806884252859219815552914 3758622279549415242939815639605656673456329775443214294573443307 8601281807812205702602324008031056043549943192686051508230988156 5754602890773743408303118668137610226439806239927350648656953791 7202280729731869297259949666668440955811850114951235592250187630 8392588068633391439720694009281517401379251236662907013551667695 82935586604497186521569909715340689722407
    • C[4] = 2595944282196925660346361344016834221714875708717882928563301267 0806390872492698924869258912202307062233476648921193467957186861 7622115206265627572866783529243022624764399217250406274747538630 1845744177858816858088801989504849945704230101564449954861207222 4302056289796661364171462503977839320178723251689596138484149268 7838331843894538827787015113544491039314664949468604795293046259 5281731836325876587905207436645681310571047659855208952688092662 3757899176343148108453497191678793051769451465654898953776332957 3789789306423112835137649021905465440915667649375142340394028855 8726225138165891059222334474716695244217


23/03/2006 - Técnicas baseadas no Log. Discreto

Pretende-se implementar algumas técnicas baseadas no problema do Logaritmo Discreto, nomeadamente o acordo de chaves Diffie-Hellman e a cifra El Gamal.

  • Codifique procedimentos que:
    • gere primos de Sophie Germain (i.e. q tal que 2*q+1 também é primo).
    • um gerador do grupo multiplicativo Zp* (em que p=2*q+1). Utilize o facto que g\in Zp* é um gerador se g^2!=1[p] e g^q!=1[p].
    • um gerador de um sub-grupo de Zp* de ordem q (onde p=2*q+1).
  • Implemente as seguintes técnicas (incluindo a geração dos parâmetros):
    • Acordo de chaves Diffie-Hellman,
    • Cifra ElGamal


23/03/2006 - (16:00-18:00 - substituição da aula de 30/03/2006)

Aula de acompanhamento ao primeiro trabalho prático.


06/04/2006 - (JOIN06)

JOIN'06


20/04/2006 - Corpos Finitos

Pretende-se implementar algumas funções de manipulação de Corpos Finitos em Pari/GP. Para tal far-se-á uso da habilidade desse sistema possibilitar a manipulação directa de polinómios.

  • Utilize o PARI/GP para:
    • Determinar se x^5-x é divisível por x^2+1 em GF(3)
    • Calcular a factorização de x^9-x
    1. OBS: Note que funções bem conhecidas como gcd, factor admitem polinómios como argumentos. Existem também funções específicas para manipulação de polinómios como polisirreducible, factormod, polrootsmod, etc. -- consulte o help (?7).
  • Defina uma função que calcule todos os polinómios primitivos do corpo finito GF(m) (com m=p^n e p primo). Determine os polinómios promitivos de GF(9) e GF(81). [RELEMBRE: um polinómio f(X) diz-se primitivo em GF(p^n) se tiver grau n e se o menor inteiro k para o qual f(X) divide x^k-1 for p^n-1.]
  • Defina as operações do corpo finito com m=p^n elementos (p primo) visto como GF(p)[X]/<f(X)> onde f(X) é um polinómio primitivo de grau n com coeficientes em GF(p).

Informação adicional relativa a corpos finitos: http://eom.springer.de/g/g043140.htm, http://eom.springer.de/G/g130010.htm.


27/04/2006 - ElGamal sobre GF(2^n)

  • Implemente a cifra ElGamal sobre o corpo finito GF(2^n). (obs.: para n suficientemente grande, as funções realizadas na aula anterior para encontrar o polinómio primitivo não irá funcionar. Para tal deve consultar a tabela de polinómios primitivos disponibilizados em P1363-AnexoA).

Algumas funções úteis para converter inteiros em polinómios binários...

\\assume-se que o polinómio "p" está definido sobre a variável "x"!!!
poleval(y,p) =
{
  local(x=y);
  return (eval(p));
}

pol2int(p) = poleval(2,lift(lift(p)))

int2pol(v) = 
{
  local(dr,i,res,p);

  dr=divrem(v,2)~;
  res = 0;
  p = 0;
  dr = [v,0];
  until(dr[1] == 0, dr=divrem(dr[1],2)~; res += Mod(dr[2],2)*x^p; p++);

  return (res);
}


Trabalho 2: Cifra ElGamal e Acordo de Chaves Diffie Hellman

Deverá desenvolver uma script PARI/GP que implemente o acordo de chaves Diffie Hellman e a cifra ElGamal nos seguintes grupos:

  1. Sub-grupo de ordem elevada de Zp.
  2. No corpo finíto GF(2^n).
  3. Numa curva elíptica sobre GF(p).

Deve procurar tornar o seu código o mais eficiente possível e não esqueça de incluir comentários por forma a tornar inteligível a sua leitura. Inclua também exemplos que ilustrem as funcionalidades implementadas.

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 8/6/2006 (actualizado em 25/5/2006).


04/05/2006 - Palestra de Tatjana Weltzer

Palestra Data Reusability (DI-A2).


11/05/2006 - A segurança semântica de primitivas criptográficas

Aula sobre definição de segurança das primitivas criptográficas. Demonstração da segurança semântica do El Gamal (pelo prof. Manuel Barbosa).

18/05/2006 - Enterro da Gata

Tolerância de ponto: Enterro da Gata.


25/05/2006 - Curvas Elípticas sobre Corpos Finitos

Aula sobre os fundamentos de técnicas criptográficas baseadas em Curvas Elípticas. No sistema PARI-GP, faremos uso das funções dedicadas às curvas elípticas, em particular ellinit, ellisoncurve, elladd, ellpow.

  • Siga o tutorial disponível em http://www.certicom.com/index.php?action=ecc_tutorial,home sobre intuição geométrica das curvas elípticas.
  • Replique, em PARI-GP, os exemplos apresentados no tutorial de curvas elípticas sobre corpos finitos GF(p). Obs.: O Pari-GP não suporta apropriadamente curvas elípticas sobre corpos finitos binários GF(2^n). Por esse motivo vamos considerar unicamentre curvas elípticas sobre corpos da forma GF(p) (p primo).
  • Implemente o El Gamal e o DH em curvas elípticas sobre corpos GF(p). Para o efeito, pode utilizar os parâmetros gerados na página http://www.cryptomathic.com/labs/ellipticcurvedemo.html ou, ainda melhor, disponibilizados por um standard apropriado como http://www.secg.org/?action=secg,docs_secg. Obs.: A codificação directa do El Gamal em curvas elípticas pressupõe a codificação da mensagem em pontos da curva. Esta tarefa não é de todo imediata, motivo pelo qual não é normalmente utilizada essa técnica nessa forma em curvas elípticas (um segundo motivo prende-se com o facto de que essa técnica não ser segura face a ataques de criptograma escolhido). Uma forma de ultrapassar a operação de codificação da mensagem em pontos da curva é utilizar-se a versão Hashed El Gamal (c.f. aula de provas de segurança dada por prof. Manuel Barbosa).

Uma função de conversão que pode ser util:

hextodec(s)= \\s string
{local(v=Vecsmall(s), sett=Vec("0123456789abcdef"));
sum(i=0,#v-1,(setsearch(sett,Strchr(bitor(v[#v-i],32)))-1)*16^i)}

25/05/2006 - (16:00-18:00 - substituição da aula de 01/06/2006)

Aula de acompanhamento dos trabalhos práticos.

ElementosCriptografiaTP0607 19 Sep 2008 - 13:35 - r14 JoseBacelarAlmeida

Sessões laboratoriais de EC

5ª feira, 16:00-18:00, DI 1.04


01/03/2007 - Introdução ao PARI/GP

Esta sessão é acompanhada de um documento PDF que apresenta uma versão mais detalhada da introdução que se segue.

Instalação

O PARI/GP é um sistema de algebra computacional particularmente indicado para computações na área de Teoria de Números e, consequentemente, para a resolução de pequenos problemas na área de Criptografia. Além das bibliotecas, contém um interpretador, gp, e uma linguagem de script, gp-script.

A página oficial é http://pari.math.u-bordeaux.fr/.

Para instalar o programa da distribuição de source, faça:

  1. Download da última versão pari-X.X.X.tar.gz
  2. tar zxvf pari-X.X.X.tar.gz; cd pari-X.X.X
  3. ./Configure --prefix=$HOME/pari ( default: /usr/local/ )
  4. make all; make install; make test-all
  5. export PATH=$HOME/pari/bin:$PATH

Se usa o Emacs, a distribuição inclui modos de suporte para o PARI/GP. Consulte a documentação e o ficheiro pariemacs.txt para mais informação.

A distribuição inclui também documentação, em particular, um manual de utilizador, um tutorial e uma Reference Card. Esta última será de grande utilidade no futuro. Robert B. Ash escreveu também um tutorial do Pari/GP.

Tipos do PARI e comandos básicos

Para correr, chame num terminal o comando gp. Para terminar, escreva quit ou \q. Para ajuda numa função ou palavra ( e.g, foo ), ?foo ou ??foo. O último output pode ser chamado através de %, %n para a linha n. O carácter # acciona ou desacciona o temporizador. Finalmente, \r fich lê um ficheiro fich (mais tarde importaremos pequenos programas GP desta forma).

Há quinze tipos fundamentais no PARI, enumerados a seguir. Concentraremo-nos nos oito primeiros (no entanto, encontrará por certo referências aos outros tipos na literatura na área de Criptografia).

  1. t_INT - Inteiros
  2. t_REAL - Reais
  3. t_FRAC - Racionais
  4. t_INTMOD - Inteiros Modulares
  5. t_COMPLEX - Complexos
  6. t_POL - Polinómios
  7. t_MAT - Matrizes
  8. t_VEC/t_COL - Vectores
  9. t_LIST - Listas
  10. t_STR - Strings
  11. t_QUAD - Corpos Quadráticos
  12. t_PADIC - P-ádicos
  13. t_POLMOD - Polinómios mod P(X)
  14. t_SER - Séries de potências
  15. t_RFRAC - Funções Racionais


Siga o documento PDF que acompanha esta aula. As notas seguintes são apenas um resumo dos passos a seguir.

Exemplo: Primalidade e Factorização

  • Defina p como o menor primo maior que 2100, q como o primo seguinte e n = p*q.
  • Accione o timer e corra trial division (isto é, divida por todos os números) até 20000
  • Como explica o resultado? E por que razão continuar a tentar dividir por todos os números até à raiz quadrada de n não é uma boa estratégia?
  • Use o teste do Pequeno Teorema de Fermat para a = 2 e confirme o resultado com o comando isprime (registe o tempo que este último levou)
  • Factorize n usando o comando factor e compare o tempo que este levou com o tempo do isprime
  • Como curiosidade, corra a seguinte sequência de instruções,
            gp > { u = nextprime(sqrtint(n));
            i = 1;
            while(i < 100 && n%u, u = nextprime(u); i = i + 1);
            u
            }
            gp > u == q
            gp > q - p
            gp > #
        

Do Algoritmo de Euclides à Aritmética Modular

No que se segue, crie e edite um ficheiro com extensão .gp e importe no GP através do comando \r fich.

A função factorial pode ser definida da seguinte forma,

\\ exemplo simples da definicao de uma funcao em GP
myFact(n) =
{ local(fact);

  if( type(n) != "t_INT" || n < 0,
      return(-1));
  fact = 1;
  while( n > 0,
         fact = fact*n;
         n = n - 1;
  );
  fact
}

Com base neste exemplo,

  • escreva uma função que calcule o maior divisor comum ( gcd ) de dois inteiros não negativos através do algoritmo de Euclides e estime a complexidade do algoritmo;
  • extenda a sua função de forma a calcular u e v, tal que un + vm = gcd(n,m) segundo a versão extendida do algoritmo de Euclides;
  • compare o resultado da sua função com o da função bezout, para m = 2101+1 e n = 2237+25+1;
  • verifique que o inverso de m mod n é v mod n, ainda no exemplo acima;
  • tente calcular o inverso de 5 mod n usando os dois métodos e explique o resultado


08/03/2007 - Computações

Pretende-se nesta sessão sensibilizar os alunos para a complexidade de um algoritmo, através da discussão de certos exemplos de algoritmos simples mas fundamentais. Consulte o PDF auxiliar para a descrição dos algoritmos.

Seja (G, *) um grupo multiplicativo. Pretende-se calcular de uma forma eficiente gn para um elemento g de G e um inteiro n.

  1. Implemente o algoritmo de potenciação descrito no PDF auxiliar
  2. Conte o número de multiplicações no pior caso e em média.
  3. Diga a complexidade em tempo do algoritmo.

Na aula passada foi apresentado o teste de Fermat para teste da não primalidade de um número. O teste de Miller-Rabin não só elimina os casos de pseudo-primos do estilo dos números de Carmichael como requere menos tentativas feitas. É um algoritmo não determinístico que poderia ser tornado deterministico assumindo a hipótese generalizada de Riemann.

  1. Implemente o teste de Miller-Rabin, descrito no PDF auxiliar (consulte a função random)
  2. Explique a presença de c = 20 no algoritmo.
  3. Dê uma estimativa para o tempo médio do algoritmo e discuta a probabilidade de o teste falhar-

Utilize o teste de Miller-Rabin para gerar um número (provavelmente) primo aleatório com n bits

  1. Qual o pior caso?
  2. Sabendo que a variável aleatória X que toma o valor do número de tentativas necessárias para ter um primeiro sucesso segue a distribuição discreta geométrica e que o número de primos até N tende para N/(log N) à medida que N tende para infinito, dê uma estimativa para a complexidade média deste método.


15/03/2007 - Continuação da aula anterior

Primeiro, um pequeno aquecimento,

  1. Use a função bezout, para calcular o GCD (extendido) de m = 2101+1 e n = 2237+25+1; esta função calcula u e v, tal que un + vm = gcd(n,m).
  2. Calcule seguidamente o inverso de m mod n e verifique que é v mod n
  3. Tente calcular o inverso de 5 mod n usando os dois métodos e explique o resultado

Voltando para o tema da aula anterior, faça a segunda e terceira parte da aula: o teste de Miller-Rabin e uma função que gere um primo aleatório com n bits. Responda também às questões postas.


22/03/2007 - "Birthday attack", colisões e funções de Hash

  1. Calcule quantas pessoas são necessárias numa sala para que a probabilidade de uma delas partilhar o seu aniversário seja superior a 50%.
  2. Calcule quantas pessoas são necessárias para que a probabilidade que duas façam anos no mesmo dia seja superior a 50%.
  3. Seja H(x) uma função de hash que dada uma mensagem de tamanho arbitrário, devolve uma string de tamanho fixo 160 bits. Supondo que qualquer string de 160 bits tem igual probabilidade de ocorrência e usando a aproximação e^(-a/n) = (1 - a/n), calcule o número de tentativas necessárias num ataque à força bruta para encontrar uma colisão com probabilidade superior a 0.5. Como referência um ataque de pré-imagem à força bruta numa função de hash n-bit deverá requerer aproximadamente 2n tentativas.
  4. Construa uma função de hash da seguinte forma:
    1. Escolha p e q primos aleatórios de 512 bits e defina uma funcao f(x) = x2 mod pq
    2. Defina uma função que dada uma mensagem a parta em blocos de k bits.
    3. Defina uma função que cicle sobre os blocos Sk+1 = (Sk + bk)2 mod pq, sendo S0 um valor aleatório (a seed) e bk o bloco k da mensagem.
    4. Defina a função de hash como sendo uma função que retire 160 bits aleatórios dos 1024 bits do último Sk


29/03/2007 - Funções de Hash - continuação da aula anterior

Dado estar a decorrer a ETAPS, a aula desta semana foi mais curta e concentrou-se em terminar o estudo de funções de Hash da aula anterior.


12/04/2007 - RSA

Implementação das funções primitivas de geração de chaves, cifragem e decifragem do RSA. Verificação de correcção.

Referências:


Trabalho Prático 1


03/05/2007 - Corpos Finitos e ElGamal?

  • Implemente as operações de adiçao e multiplicação sobre corpos finitos F2n, na representação Z2[X]/f(X)Z2[X], onde f(X) é um polinómio primitivo de grau n com coeficientes em Z2.
  • Implemente as primitivas de cifragem ElGamal? sobre F2n. Use as seguintes funções de conversão:

pol2int(p) = { local(x); x = 2; eval(lift(lift(p))) }


// c e' o polinomio caracteristico
int2pol(u, c) =
{
  local(bin_exp, i, n, p);

  bin_exp = binary(u);
  n = length(bin_exp);
  p = 0;
  for(i = 1, i <= n, p += bin_exp[i]*x^(n-i));
  return( Mod(p, c))
}


Trabalho Prático 2

-- PaulaCristinaValenca? - 15 Apr 2007

ElementosCriptografiaTrab 10 Jul 2007 - 18:03 - r6 PaulaCristinaValenca?

Trabalhos Práticos de EC - 2006/2007


Trabalho 1: Cifra RSA

Implemente em PARI/GP a geração de chaves RSA assim como as primitivas de cifragem e decifragem RSA.

Implemente também dois esquemas RSA: um sem padding (ou padding a zero) e outro que use a codificação PKCS1.5 (note que, apesar de estar ainda presente no Standard, o seu uso é preterido em favor de esquemas do tipo OAEP).

A sua implementação deverá cobrir as duas possiveis representações de chave privada. Comente adequadamente, optimize o seu código e inclua exemplos de execução.

Como referência, consulte

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 30/4/2007 7/5/2007 (Actualização)

Desafios:

Os seguintes desafios foram todos cifrados sem padding e demonstram algumas más práticas a evitar ou situações susceptíveis de ataque. A dificuldade dos desafios vai aumentando. Duas boas referências para ataques à cifra RSA:

Tente recuperar o texto limpo original correspondente a cada um dos criptogramas RSA apresentados. O texto limpo foi dividido em blocos de k/8 caracteres, onde k é o tamanho do módulo RSA usado e codificando cada caractér com base no seu código ASCII (consulte as funções Vecsmall e Strchr). Na implementação foram usadas as funções de conversão de dados OS2IP e I2OSP para converter as strings de octetos em inteiros para uso das primitivas RSA e vice-versa (ver documentação acima). Em particular, os criptogramas estão apresentados como blocos de strings de octetos (em hexadecimal). Note ainda que números grandes podem estar partidos em várias linhas.

Submeta as scripts de código que produzir, o texto limpo que recuperou e uma explicação de como procedeu para resolver o problema.

  • Problema 1
    • e = 5
    • N = 3587574192954427231067141445521243178607587714286579335419222874 9439203035201
    • C = 14 e7 47 40 30 e9 d6 81 63 1e 9c 27 84 3a 61 3a 3a 32 4a 48 e7 e2 db e7 54 4c b4 df 97 51 c6 8d

  • Problema 2
    • e = 3
    • N = 1089032683577364550668153146809624530428147750062064927216784759 6909833919686793385914649409832768160832685955810794264464577272 1578023786494435786218535101121749241579474189946833477645334025 6712003090427026723655229095672214149022589694174418368841198294 49701459194027075720926766820866417694789983660054201
    • C = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 1b 2b 27 94 53 9b 1a 7d 1c 51 d9 31 1c 58 d1 70 cc cc 0c 4b ca 28 8f 27 d1 a4 bd 91 d2 b2 4a 0c 54 10 bc 3f ee 2d 47 a9 a4 d5 5b fd 63 47 8d 0f 06 0d 97 68 c0

  • Problema 3 - Uma mesma mensagem M foi cifrada para três destinatários distintos com chaves públicas, respectivamente, (NA, e), (NB, e) e (NC, e).
    • e = 3
    • NA = 1122108819125288328734887308976261927054733692196165387530817045 5144422828779927054951818350236074434502334082373179631020451837 1544839019675852328331644980384851027727542434889929546615023950 7870720121300501583706799423536865480798066430190233181161961115 24880623908853557168750513262508514183295567563396901
    • CA = 5d f0 ba 37 0c ed 20 7b ef 9c 80 f2 fa e3 b7 98 91 44 ed 3f 34 5f a8 df 60 92 bb a1 c0 5b 2c ee 4b db b8 8a 91 e3 f2 4e 77 1f 5a 9a e0 12 68 e1 3d d5 8a 8a 29 be 59 fc c6 e1 b5 ed ed 50 c6 1a 28 75 76 59 c5 d9 0c 13 05 8e f2 77 09 5b 04 56 90 2e bc d5 bc 40 84 d0 11 6e 32 d1 7b 80 78 df ca 9d 5c 53 26 ec 89 77 8f d0 25 c6 0b a4 4e fe b6 19 10 15 17 67 58 fa 58 5d 3a 29 bb ad 80 7d
    • NB = 1203920984865608812188685303379759281708284737097885756870024244 2218525209633774370409435193513981140455560063960980279313799625 7833314068179655039692270490823980274420626465969667005417243382 1860006189185562586976210825142393988849701185584377921996904077 36712811686600001659384083176017014815881112323115387
    • CB = 8b ba 35 a0 e2 39 4b 76 b4 36 56 bc 59 c7 6b 42 45 a3 e2 86 55 a7 2b bb 6c 2f 03 62 4d 22 da ae dc fc 07 07 82 c8 00 07 bc a4 ec a6 76 9d cf c6 2c 78 1d 1c 51 11 8a ea e9 11 6b 12 1c 55 33 72 28 ca 49 ee 1c 8c d7 f2 33 57 e9 72 38 91 11 b0 b9 35 6b 40 ce b3 5f fa 10 a8 29 1a 5e 3a a9 ee f4 57 af 37 a5 d7 a3 61 ec 4a d4 b9 08 22 f4 7a 41 bb 0e 7b d4 23 87 1c 79 0d da 49 ad 00 d5 7b
    • NC = 1022554975542090063482710721600443949132214642275677741779805505 6021040530801119347667248824133296162673405108799966263434683008 1397262246730728060484806512449999058632114263350609476673917049 5243777520161990777652437505720980003147743232552239269909862465 38360263915450005885639842950464914540414973228130477
    • CC = 21 a3 3d bf e5 45 28 a2 a6 dd 2c cd be 3d fd 3c 66 29 1c f5 1e 09 6d e6 0d fd 9f 24 47 39 f7 48 14 e0 4d b6 0b f6 09 51 c9 d7 f3 d8 e5 04 ac 58 72 d3 63 87 3c 78 f1 76 b9 95 69 63 3e 69 a5 44 c0 a7 5e f7 1a 5c fe c8 81 10 19 04 74 d5 3b f4 97 0f 9e a0 23 e8 1b d4 6d 4d 3a 87 4c d6 5e 0b 41 df fe cd 03 6d fb f3 df 4f 08 fe 7e e9 ef 6e a7 57 3b 73 ab cb d2 47 21 ef c2 17 e4 50 2c 77

  • Problema 4 - Uma entidade gerou dois pares de chaves (eA, dA), (eB, dB) com o mesmo módulo N. O criptograma C resultou de cifrar uma mensagem M com a chave pública(N, eA). O par (eB, dB) é-lhe conhecido.
    • eA = 7
    • eB = 65537
    • dB = 3941660308803989588796406037133474870767018186927131910996047734 7702105880619234458420932298926540265854465032835901877079191136 3625596047742324915271764994317854466603971318473969792423131558 0999119099507819572983084995937043975358564874839468140832738389 2352649528455574857326003405818818014111476249182273
    • N = 9319068963134454028894302397388764163256063164381076625214573607 2740004080019580400488190478887037135761330261795328330380192983 5423184999310560893656770122690039118217688075368974268275502654 0262403851351000479569108965475246903102665778935639554017423017 4770649063948079509069830480072323583374601495530559
    • C = 80 f8 31 9a 3c 3c 59 e3 a3 50 58 15 18 72 d2 d6 9a ce 3e d9 8e a0 69 55 55 dc 7e 65 63 ce 3d f1 a2 c2 d1 79 dd 71 e0 a8 dc b9 8d 85 61 63 fb c6 fb 86 e0 a2 4d 53 6b c5 29 8d c8 a6 82 12 4c a2 a2 7c 0f db ee 1a cb 0b 82 5e 66 ec dc 8d e1 ac f9 d0 5b 9f 6a 35 85 f7 99 1a 63 39 9c 10 2d c7 72 1b 22 ca 55 e4 a9 51 77 04 4f dd bd b0 a9 9c 59 8b a6 77 21 d8 e4 01 ef 87 60 45 48 1a 4b f1

  • Problema 5
    • e = 2781256904645424482432081634242555131496595019896396122661652483 1852818707612280200369494571182920614986907740197159710639233959 9362621130977624648471971584109105417809729915120380582976281221 6593313934362689149547380900478372287256449191972768111548274700 1462621144735141539925656762024582802558939120369493
    • N = 1390628452322712241216040817121277565748297509948198061330826241 5926409353806140100184747285591460307493453870098579855319616979 9681310565488812324235985815731186882762045899073877401244364116 6541174461115382050943958194070324865198444165777393853885199987 26871321612903150483200686546285155751607596546340899
    • C = 77 81 2f 94 ed 89 d2 3a 00 fd 62 99 c8 2a e0 61 b1 bb f7 9a b8 80 24 9e 9f c2 22 a4 dc 7d 34 32 69 f0 cd 2f 71 87 d1 13 64 7b c3 3d b5 30 bb d0 64 99 fc c9 67 40 c6 eb 1b 5f df aa 1b c5 0f 24 50 b4 de 42 54 0f 52 fb ab 05 c3 89 4a 84 c9 8c ae c1 c2 42 21 03 93 63 e6 3b da 64 2b 99 38 d2 b4 06 1b 67 59 cd 66 b9 b9 14 8b ea 93 15 57 47 a2 b9 db 45 08 2a 07 9f 4b b2 34 31 b9 03 99 8f


Trabalho 2: Funções sobre GF(2n) e GF(2)n

No que se segue, cp é um polinómio característico de GF(2n), B é uma base de GF(2n) e (.)~: GF(2n) -> GF(2)n denota a representação vectorial de um elemento x de GF(2n) segundo a base B, isto é, x = B.x~. A representação xs (respectivamente, As) denota o vector (ou matriz) cujas componentes são dadas por xs[i] = sigi(x) (respectivamente, As[i,j] = sigj(A[i])), sigi o automorfismo de ordem i.

Igualmente, T é a matriz dos traços cruzados (T[i,j] = tr(bi.bj), bi,bj elementos de B, em que tr(.) denota o traço) e B' = T-1B é a base dual de B.

1. Escreva um programa em Pari que, dado um polinómio característico cp e, opcionalmente, uma base B, construa as várias componentes e funções descritas acima: Bs, T, T-1, B', Bs', (.)~,...

2. Considere a S-box de Rijndael usada no AES Rijndael S-box que define uma transformação afim g~(y~) = H y~ + b~. Usando as funções anteriores, reconstrua g(y) = b + h.xs, com =h = (H B')st B.

3. Verifique que a sua implementação reflecte o facto 28 na página 184-185 dos apontamentos.

Prazo de entrega:

Os trabalhos deverão ser enviados por email até ao dia 20/7/2007.

-- PaulaCristinaValenca? - 11 Jun 2007

IdeiasProjectos 27 Feb 2006 - 18:06 - r3 JoseBacelarAlmeida

Projectos

Título
Enquadramento
Orientador
Resumo

Interface Haskell para GMP
ElementosCriptografia0405
ManuelBernardoBarbosa
A GMP (GNU Multi-Precision Arithmetic Library) e' uma biblioteca que permite efectuar ca'lculos sobre nu'meros com precisao arbitra'ria (inteiros, racionais, e reais) com elevada eficiciencia. E' utilizada, por exemplo como base para a NTL, uma ferramenta para teoria dos nu'meros muito utilizada em criptografia. O que se pretende neste projecto e' o desenvolvimento de uma interface que permita tirar partido das funcionalidades de calculo sobre Z e Zp implementadas na GMP dentro de programas Haskell. A interface devera' ser o mais transparente possi'vel: devera' ser natural para um programador em Haskell. Os beneficios de eficiencia deverao ser medidos atrave's da implementacao de alguns algoritmos criptogra'ficos e.g. RSA, El-Gamal que operem sobre n'umeros de tamanho realista. A GMP pode ser obtida em http://www.swox.com/gmp/.

Esteganografia
ElementosCriptografia0405
ManuelBernardoBarbosa
A esteganografia e' a ciencia de esconder informacao, de forma segura, em suportes digitais, como sejam ficheiros de imagem. O que se pretende com este projecto ´e o estudo da esteganografia como tecnologia de suporte `a comunicacao segura, no sentido criptogr´afico do termo. Depois de uma an´alise de bibliografia relevante, o objectivo ser´a a implementacao de um sistema de troca de informacao segura com base em t´ecnicas de esteganografia.

Votacao Electronica
ElementosCriptografia0405
ManuelBernardoBarbosa
Pretende-se com este projecto implementar uma livraria em JAVA que possa ser utilizada em sistemas de votacao electr´onica. A livraria dever´a conter implementacoes das primitivas criptogr´aficas utilizadas nas diversas variantes deste tipo de sistemas: nao s´o cifras, mas tamb´em esquemas mais complexos como blind signatures, bit commitments, provas de conhecimento zero, etc. Na fase final dever´a ser desenvolvido um pequeno applet que exemplifique as potencialidades da biblioteca desenvolvida.
LECOMNews0506 24 Feb 2007 - 16:13 - r11 ManuelBernardoBarbosa

  • Sumário: On-Line Certificate Status Protocol (OCSP) e Secure Sockets Layer (SSL). -- ManuelBernardoBarbosa - 25 May 2006

  • Sumário: Assinaturas digitais, identificação de agentes, protocolos de conhecimento zero, mecanismo desafio-resposta. -- ManuelBernardoBarbosa - 20 Apr 2006

  • Sumário: Comunicação utilizando cifras assimétricas. Segurança teórica de cifras assimétricas. Autenticação de origem de mensagens. Funções de hash criptográficas. Message Authentication Codes. -- ManuelBernardoBarbosa - 06 Apr 2006

  • Sumário: Comunicação utilizando cifras simétricas, chaves de sessão. Acordo e distribuição de chaves. Education.Criptografia de chave pública. Acordo de chaves Diffie Hellman. Cifras assimétricas. Cifra RSA. -- ManuelBernardoBarbosa - 30 Mar 2006.

  • Sumário: Implementação de CBC a partir de ECB sobre openssl. Segurança teórica de cifras simétricas. -- ManuelBernardoBarbosa - 23 Mar 2006

  • Sumário: Modos de utilização de cifras por blocos: ECB, CBC, OBF e CFB -- ManuelBernardoBarbosa - 16 Mar 2006.

  • Sumário: Implementação em C de cifragem RC4. Cifras por blocos. DES, IDEA e AES. Padding. -- ManuelBernardoBarbosa - 9 Mar 2006.

  • Sumário: Segurança da Informação. Cifras e Chaves. Segurança de uma cifra. One-Time-Pad. Cifras Sequenciais. -- ManuelBernardoBarbosa - 2 Mar 2006.

LECOMNews0607 19 Sep 2008 - 13:40 - r7 JoseBacelarAlmeida
Para consultar o exame da época especial, contactar o docente da disciplina. -- -- ManuelBernardoBarbosa - 20 Set 2007

Os exames de recurso poderão ser cunsultados na 5a feira dia 26 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 25 Jul 2007

O exame oral realizar-se-á na 2a feira, dia 9 de Julho, às 15:00, no Departamento de Informática em Gualtar/Braga. O aluno em questão deverá contactar o docente por e-mail, no caso da existência de algum impedimento à realização do exame oral nesta data. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da 2a chamada poderão ser consultados na 2a feira dia 9 de Julho entre as 14:30 e as 15:00 no Departamento de Informática em Gualtar/Braga. -- ManuelBernardoBarbosa - 6 Jul 2007

Os exames da primeira chamada poderão ser consultados na aula de dúvidas de 5a feira. -- ManuelBernardoBarbosa - 27 Jun 2007

Haverá uma aula de dúvidas de Criptografia, antes do exame da 2a chamada. Terá lugar na 5a feira, dia 28 de Junho, às 16:00, na sala de aula onde decorreram as aulas da disciplina. -- ManuelBernardoBarbosa - 26 Jun 2007

LabCom6 19 Jul 2007 - 20:43 - r9 ManuelBernardoBarbosa

Laboratórios de Comunicações 6

MECOM 2006/2007

Notas

Avisos

  • Entregas Dia 26 de Junho
    • Todos os grupos irão apresentar os projectos no dia 26 de Junho.
    • Apesar de o exame estar marcado para a parte da manhã, por conveniência dos docentes as apresentações terão lugar de tarde, a partir das 14:30 no laboratório das aulas da disciplina.
    • Cada grupo deverá enviar por e-mail o relatório até às 12:00 do dia 26, para que seja possível faze-lo chegar a todos os docentes atempadamente.
    • No laboratório, cada grupo deverá entregar o relatório em papel e disporá de 15 minutos para apresentar o projecto, podendo recorrer a uma apresentação projectada se assim o entenderem os seus elementos.
    • No final haverá lugar para 15 a 20 minutos de perguntas individuais.
    • O escalonamento das apresentações será o seguinte:

Grupo Hora
1 14:30-15:10
2 15:10-15:40
3 15:50-16:30
4 16:30-17:10
5 17:10-17:50

  • As entregas dos relatórios e apresentações dos trabalhos serão realizadas nas datas reservadas para os exames da época normal da disciplina: 11 de Junho (T) e 26 de Junho (M). As entregas terão lugar no laboratório onde decorrem as aulas da disciplina. Os alunos poderão optar por qualquer uma destas datas para efectuar a entrega, devendo para esse efeito enviar um e-mail até 24 horas antes da hora da apresentação.
  • A deadline para entrega do relatório intermédio é 6a Feira dia 30 de Março às 23:59. Os relatórios, em formato PDF, deverão ser enviados por e-mail para Manuel Bernardo Barbosa. Deverão descrever, nomeadamente:
    • O estado actual do projecto.
    • O resultado da análise de requisitos.
    • Uma proposta de arquitectura.
    • Uma descrição das tecnologias a adoptar.
    • Um planeamento temporal da implementação do projecto.
    • Uma descrição das decisões de implementação já tomadas em cada uma das componentes tecnológicas abordadas no projecto.

Notas

  • Notas dos relatórios intermédios

Número Nome Grupo Nota
41560 Bruna Cristiana de Oliveira Fernandes 1 0
41563 Bruno Ricardo Fernandes Pimenta 1 0
33209 Paulo Miguel Sá Morais Pires 1 0
30494 André António Oliveira Gomes 2 14
38585 Jorge Miguel Pereira Coutada Miranda 2 14
41580 Tiago Manuel Ribeiro Gomes 2 14
38596 Hélder Tavares de Lemos 3 15
41574 João André de Jesus Namorado Lopes Quintas 3 15
40812 David Esteves Magalhães Martins 4 12
41048 João Manuel da Cunha Gomes 4 12
44033 João Carlos de Oliveira Gomes 5 17
39083 Joel Filipe de Araújo e Silva Azevedo 5 17
44051 Sebastien André Leroux 5 17

Material Disponibilizado

Corpo Docente

Horário

Dia Hora Docentes
3a Feira 14:00 - 16:00 Francisco Soares Moura, João Nuno Oliveira
5a Feira 14:00 - 16:00 Manuel Bernardo Barbosa, Joaquim Neves

Pré-requisitos

Ter obtido aprovação em Laboratórios de Comunicações II e IV e frequentado Laboratórios de Comunicações I , III e V.

Resultados da aprendizagem

Competências gerais:

  • Utilizar correctamente o ambiente laboratorial, incluindo os seguintes equipamentos: computadores ligados em rede (LAN), comutadores Ethernet e routers IP.
  • Descrever os principais protocolos de encaminhamento interno e externo utilizados na Internet;
  • Descrever os principais protocolos de encaminhamento multicast usados nas redes IP;
  • Descrever soluções capazes de dotar a Internet de qualidade de serviço (QoS? );
  • Descrever protocolos, técnicas e algoritmos para sistemas de criptografia.

Competências específicas:

  • Montar e configurar uma rede de computadores de área local, baseada em tecnologia IEEE 802.3 (Ethernet), envolvendo:
    • Sistema de cablagem
    • Instalação e configuração de elementos activos de nível 2 (comutadores Ethernet)
  • Estabelecer uma rede IP, envolvendo:
    • Instalação e configuração de elementos de nível 3 (router IP)
    • Instalação e configuração de serviços DHCP e NAT
  • Instalar e configurar um serviço DNS.
  • Criar e manipular uma base de dados (localmente e remotamente)
  • Utilizar serviços básicos de segurança.

Organização e Funcionamento

O projecto será desenvolvido em grupos de 2 alunos dentro e fora das aulas da disciplina (2 sessões semanais de 2 horas cada).

Nos pontos de controlo a definir e no fim do semestre, cada grupo apresentará à equipa docente e à turma o trabalho realizado e os resultados obtidos, devendo entregar um relatório técnico de desenvolvimento devidamente estruturado e fundamentado.

Em cada aula estarão presentes dois docentes que irão esclarecendo questões específicas dentro da sua área de trabalho.

Avaliação

A nota final será calculada aproximadamente de acordo com a seguinte expressão:

Nota Final = 0.3 Q + 0.2 RI + 0.3 RF + 0.2 AF

Em que a descrição de cada parâmetro é a seguinte:

  • Q - Testes de avaliação contínua efectuados em algumas aulas laboratoriais.
  • RI - Relatório intermédio - Pequeno relatório que apresentará já a estrutura do relatório final a apresentar a meio do semestre.
  • RF - Relatório final - Este relatório reflectirá todo o trabalho desenvolvido durante o semestre nesta disciplina.
  • AF - Apresentação final do Projecto.


ManuelBernardoBarbosa - 24 Feb 2007

MenuTopics 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
CA
CriptoBio
LECOM
MICEI
EC
Opcao III
OIII0607 19 Sep 2008 - 13:37 - r2 JoseBacelarAlmeida

Projectos de Opção III 2006/2007

Todos os seguintes projectos serão orientados por MBB ou JBA conjuntamente com um elemento da empresa Multicert.


-- ManuelBernardoBarbosa - 21 Sep 2006

WebArchive 24 Sep 2008 - 18:59 - r2 JoseBacelarAlmeida


MI/MEI

Criptografia e Segurança em Sistemas de Informação


LESI/LMCC

Criptografia Aplicada

Elementos de Criptografia

Opção III


Eng. Biomédica

Criptografia


MECOM

Criptografia


MI/CEI

Criptografia


MSDPA

Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados

WebChanges 16 Aug 2001 - 19:58 - NEW PeterThoeny?

50 Recent Changes in TWiki Web retrieved at 16:53 (GMT)

CSSI0809 29 Sep 2009 - 17:01 - r19 ManuelBernardoBarbosa
Criptografia e Segurança de Sistemas de Informação Edição 2008/2009 2009/2010 (incluindo temas de tese) Equipa Docente José Manuel Valença (TC) Manuel ...
CSI0809 22 Jul 2009 - 01:44 - r14 JoseBacelarAlmeida
Criptografia e Segurança da Informação 2008/2009 Programa Teoria: Introdução: conceitos e terminologia. Cifras simétricas: sequenciais e por blocos ...
AvisosCSSI0809 13 Jul 2009 - 18:34 - r10 ManuelBernardoBarbosa
13/07: Disponíveis notas de GSI/PSC (secção de Avaliação). 15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação). 03/03: Disponíveis notas finais ...
CriptografiaBiomedica0809 02 Jul 2009 - 17:11 - r14 JoseBacelarAlmeida
Criptografia 2008 2009 Licenciatura em Engenharia Biomédica (Edição 2006 2007; Edição 2005 2006) Equipa Docente José Carlos Bacelar Almeida (responsável pela ...
CriptoBio0809Programa 02 Jul 2009 - 16:56 - NEW JoseBacelarAlmeida
Criptografia (MIEBIO) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia Conceitos ...
CSSI-PI0809-2 01 Jul 2009 - 16:24 - NEW JoseBacelarAlmeida
Projecto Integrador Sumários (2º Sem.) MI CSSI (2008/2009) 03/03/2009, 14:00 16:00 Apresentação dos projectos do 2º semestre: Sistema de Armazenamento ...
CSSI-PI0809-1 01 Jul 2009 - 15:49 - r4 JoseBacelarAlmeida
Projecto Integrador Sumários (1º Sem.) MI CSSI (2008/2009) 30/09/2008, 18:00 20:00 Ambiente de Desenvolvimento Utilização do framework JCA/JCE . Continua ...
CSI0809Programa 01 Jul 2009 - 11:30 - NEW JoseBacelarAlmeida
Criptografia e Segurança da Informação (UCE CSSI) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia ...
ElementosCriptografia0506 14 May 2009 - 23:35 - r19 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
AvisosCriptoBio0809 04 Feb 2009 - 05:08 - r6 JoseBacelarAlmeida
03/02/2009: Já estão disponíveis as notas do teste. 12/01/2009: Já está disponível a avaliação prática da disciplina. 30/12/2008: Sessão de defesa dos trabalhos ...
CriptoBioT0809 13 Dec 2008 - 23:16 - r6 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Sumários das aulas Teóricas (2008/2009) Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: 25/09 ...
CriptoBioTP0809 11 Dec 2008 - 10:56 - r15 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Guiões das aulas Teórico Práticas 2008/2009 Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: ...
CSITP0809 07 Dec 2008 - 22:56 - r8 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (TP) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 16:00 18:00 Ambiente de Desenvolvimento O objectivo principal ...
CriptografiaBiomedicaProj0809 05 Dec 2008 - 22:56 - r2 JoseBacelarAlmeida
Mini Projecto Prático Descrevem se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais ...
CSIT0809 25 Nov 2008 - 22:26 - r3 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (T) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 14:00 16:00 Apresentação do Módulo: programa, organizaç ...
WebSideBar 05 Oct 2008 - 21:13 - r8 JoseBacelarAlmeida
Disciplinas Criptografia (Biomédica) CSSI Outras Avisos " else ""}%
CriptoBioNews0607 24 Sep 2008 - 18:59 - r4 JoseBacelarAlmeida
Já estão disponíveis as notas da época normal ManuelBernardoBarbosa 30 Jan 2007 Site criado. ManuelBernardoBarbosa 21 Sep 2006
WebArchive 24 Sep 2008 - 18:59 - r2 JoseBacelarAlmeida
MI/MEI Criptografia e Segurança em Sistemas de Informação 2008/2009 LESI/LMCC Criptografia Aplicada 2007/2008 2006/2007 2005/2006 2004 ...
MenuTopics 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
CA CriptoBio LECOM MICEI EC Opcao III
CriptografiaBiomedica0506 24 Sep 2008 - 18:59 - r6 JoseBacelarAlmeida
Education.Criptografia Licenciatura em Engenharia Biomédica Ramo Bioinformática 4º Ano 1º Semestre Ano lectivo 2005/2006 Programa Conceitos ...
CriptografiaBiomedica0607 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
Notícias Criptografia 2006 2007 Licenciatura em Engenharia Biomédica (Edição 2005 2006) Notas Notas da época de recurso: Número Nome Nota ...
CriptografiaAplicada0708 24 Sep 2008 - 10:35 - r25 JoseBacelarAlmeida
Notícias 2007 2008 Criptografia Aplicada Criptografia e Segurança da Informação (Edição 2006 2007, Edição 2005 2006, Edição 2004 2005) Equipa Docente Jos ...
WebHome 19 Sep 2008 - 13:41 - r29 JoseBacelarAlmeida
Team JoseManuelValenca ManuelBernardoBarbosa JoseBacelarAlmeida AlcinoCunha Teaching LESI Criptografia Aplicada Elementos de ...
CriptografiaMestrados0506 19 Sep 2008 - 13:41 - r9 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) 2005 2006 Docente ManuelBernardoBarbosa Programa Conceitos Fundamentais Education.Criptografia, Criptoan ...
CriptografiaMestradoNews0607 19 Sep 2008 - 13:41 - r2 JoseBacelarAlmeida
Criação do Site JoseBacelarAlmeida 07 Mar 2007
CriptografiaLECOM0506 19 Sep 2008 - 13:41 - r21 JoseBacelarAlmeida
Notícias Education.Criptografia LECOM 2005 2006 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) Horários Tipo Horário Docente ...
CriptografiaMestrados0607 19 Sep 2008 - 13:41 - r18 JoseBacelarAlmeida
Criptografia (MICEI) / Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados (MSDPA) Ano Lectivo 2006 2007 Ano Lectivo 2006 2007 Docente ...
CriptografiaMestrados0304 19 Sep 2008 - 13:41 - r7 JoseBacelarAlmeida
Education.Criptografia MICEI Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados MSDPA 2003 2004 Notas MICEI MSDPA Respons ...
CriptografiaMestrados0405 19 Sep 2008 - 13:41 - r12 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados (MSDPA) 2004 2005 Docente AlcinoCunha ...
CriptografiaLECOM0607 19 Sep 2008 - 13:40 - r19 JoseBacelarAlmeida
Notícias Criptografia MECOM 2006 2007 Notas Notas da época especial Notas do Recurso Notas da 2a chamada Notas da 1a chamada Avaliação ...
LECOMNews0607 19 Sep 2008 - 13:40 - r7 JoseBacelarAlmeida
Para consultar o exame da época especial, contactar o docente da disciplina. ManuelBernardoBarbosa 20 Set 2007 Os exames de recurso poderão ser cunsultados na ...
WebStatistics 19 Sep 2008 - 13:37 - r331 JoseBacelarAlmeida
Statistics for Education/Criptografia Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for ...
OIII0607 19 Sep 2008 - 13:37 - r2 JoseBacelarAlmeida
Projectos de Opção III 2006/2007 Todos os seguintes projectos serão orientados por MBB ou JBA conjuntamente com um elemento da empresa Multicert. Microsoft Office ...
ElementosCriptografiaNews0607 19 Sep 2008 - 13:36 - r9 JoseBacelarAlmeida
Notas saíram as notas da 1ª chamada PaulaCristinaValenca 27 Jul 2007 JOIN'07 devido a estar a decorrer as join'07, não haverá aula dia 10/05. PaulaCristinaValenca ...
ElementosCriptografiaNews0506 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
Projectos a data limite para a entrega dos projectos (protocolo Multicert/UM ) é 30 de Setembro de 2006. JoseBacelarAlmeida 11 Set 2006 Classificações As ...
ElementosCriptografia0607 19 Sep 2008 - 13:36 - r12 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computação 4º ...
ElementosCriptografiaNews0405 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
27 Jul Já sairam as notas da época de recurso. 15 Jul Já sairam as notas da época normal. 1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem ...
ElementosCriptografiaTP0607 19 Sep 2008 - 13:35 - r14 JoseBacelarAlmeida
Sessões laboratoriais de EC 5ª feira, 16:00 18:00, DI 1.04 01/03/2007 Introdução ao PARI/GP Esta sessão é acompanhada de um documento PDF que apresenta uma vers ...
ElementosCriptografiaNotas0607 19 Sep 2008 - 13:35 - r3 JoseBacelarAlmeida
Avaliação de Elementos de Criptografia Classificações Num. Nome Trab.1 Trab.2 FINAL Exame 1a ...
ElementosCriptografia0405 19 Sep 2008 - 13:35 - r10 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
ElementosCriptografia0304 19 Sep 2008 - 13:35 - r15 JoseBacelarAlmeida
Elementos/Fundamentos de Education.Criptografia 2003 2004 Notas Notas Finais (XLS) Notas dos exames das duas chamadas Notas dos trabalhos práticos ...
CriptografiaAplicada0405 19 Sep 2008 - 13:24 - r20 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2004 2005 Notas Notas do exame de recurso (contactar MBB por e mail para agendar exame oral) Notas dos trabalhos ...
CriptografiaAplicada0607 19 Sep 2008 - 13:24 - r32 JoseBacelarAlmeida
Notícias Criptografia Aplicada 2006 2007 (Edição 2005 2006, Edição 2004 2005) Notas Notas da época especial Notas da Época de Recurso Notas do exame ...
CriptografiaAplicadaTP0708 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Sessões laboratoriais de CA (2007/2008) #AulaUm Aula 1 Ambiente de Desenvolvimento O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento ...
CriptografiaAplicada0506 19 Sep 2008 - 13:24 - r23 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2005 2006 Edição 2004 2005 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) AlcinoCunha Hor ...
CSSI0708 19 Sep 2008 - 13:24 - r5 JoseBacelarAlmeida
CSSI Edição 2007 2008 Equipa Docente Manuel Bernardo Barbosa Manuel Valença José Bacelar Almeida Victor Francisco Fonte Rui Carlos Oliveira ...
CriptografiaAplicada0708Projs 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
Mini Projectos Projecto 4: Site para intranet com autenticação baseada em Certificados X509 Prazo: 3 semanas (entrega/demonstração na aula do dia 8 de Janeiro ...
CANews0708 19 Sep 2008 - 13:24 - r18 JoseBacelarAlmeida
22 02 2008 Já estão disponíveis as notas do exame de recurso. DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2 105). 28 01 2008 Já estão dispon ...
CANews0607 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Para consultar os exames da época especial, contactar mbb. ManuelBernardoBarbosa 20 Set 2007 Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre ...
CANews0405 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da ...
Found 50 topics.

See also: rss-small RSS feed, recent changes with 50, 100, 200, 500, 1000 topics, all changes

WebCss 16 Feb 2007 - 20:58 - NEW ManuelBernardoBarbosa
.natRevision { width:0px; height:0px; overflow:hidden; }

.natBreadCrumbs { width:0px; height:0px; overflow:hidden; }

.natMainFooterContents, .natMainHeaderContents { padding:0px; margin:0px 0px; }

WebHome 19 Sep 2008 - 13:41 - r29 JoseBacelarAlmeida

Team

Teaching

WebIndex 24 Nov 2001 - 11:41 - r2 PeterThoeny?
Education/Criptografia Web Changed Changed by
AvisosCSSI0809 13 Jul 2009 - 18:34 - r10 ManuelBernardoBarbosa
13/07: Disponíveis notas de GSI/PSC (secção de Avaliação). 15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação). 03/03: Disponíveis notas finais ...
AvisosCriptoBio0809 04 Feb 2009 - 05:08 - r6 JoseBacelarAlmeida
03/02/2009: Já estão disponíveis as notas do teste. 12/01/2009: Já está disponível a avaliação prática da disciplina. 30/12/2008: Sessão de defesa dos trabalhos ...
CANewS0506 19 Sep 2008 - 13:24 - r10 JoseBacelarAlmeida
Já estão disponíveis as notas do exame de recurso ManuelBernardoBarbosa 23 Fev 2006 Para consultar os exames, contactar docente na segunda feira dia 6 de ...
CANews0405 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
A folha de inscrições para as apresentações dos trabalhos está disponível na recepção do DI. As entregas terão lugar nos dias 1,2,9 e 10 de Fevereiro, da parte da ...
CANews0607 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Para consultar os exames da época especial, contactar mbb. ManuelBernardoBarbosa 20 Set 2007 Consultas a exames de recurso: 4a Feira, dia 28 de Fevereiro, entre ...
CANews0708 19 Sep 2008 - 13:24 - r18 JoseBacelarAlmeida
22 02 2008 Já estão disponíveis as notas do exame de recurso. DATA DO EXAME DE RECURSO: dia 13 de Fevereiro, às 9:30 (sala CP2 105). 28 01 2008 Já estão dispon ...
CSI0809 22 Jul 2009 - 01:44 - r14 JoseBacelarAlmeida
Criptografia e Segurança da Informação 2008/2009 Programa Teoria: Introdução: conceitos e terminologia. Cifras simétricas: sequenciais e por blocos ...
CSI0809Programa 01 Jul 2009 - 11:30 - NEW JoseBacelarAlmeida
Criptografia e Segurança da Informação (UCE CSSI) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia ...
CSIT0809 25 Nov 2008 - 22:26 - r3 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (T) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 14:00 16:00 Apresentação do Módulo: programa, organizaç ...
CSITP0809 07 Dec 2008 - 22:56 - r8 JoseBacelarAlmeida
Conceitos de Sistemas Criptográficos (TP) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 16:00 18:00 Ambiente de Desenvolvimento O objectivo principal ...
CSSI-PI0809-1 01 Jul 2009 - 15:49 - r4 JoseBacelarAlmeida
Projecto Integrador Sumários (1º Sem.) MI CSSI (2008/2009) 30/09/2008, 18:00 20:00 Ambiente de Desenvolvimento Utilização do framework JCA/JCE . Continua ...
CSSI-PI0809-2 01 Jul 2009 - 16:24 - NEW JoseBacelarAlmeida
Projecto Integrador Sumários (2º Sem.) MI CSSI (2008/2009) 03/03/2009, 14:00 16:00 Apresentação dos projectos do 2º semestre: Sistema de Armazenamento ...
CSSI0708 19 Sep 2008 - 13:24 - r5 JoseBacelarAlmeida
CSSI Edição 2007 2008 Equipa Docente Manuel Bernardo Barbosa Manuel Valença José Bacelar Almeida Victor Francisco Fonte Rui Carlos Oliveira ...
CSSI0809 29 Sep 2009 - 17:01 - r19 ManuelBernardoBarbosa
Criptografia e Segurança de Sistemas de Informação Edição 2008/2009 2009/2010 (incluindo temas de tese) Equipa Docente José Manuel Valença (TC) Manuel ...
CriptoBio0809Programa 02 Jul 2009 - 16:56 - NEW JoseBacelarAlmeida
Criptografia (MIEBIO) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia Conceitos ...
CriptoBioNews0607 24 Sep 2008 - 18:59 - r4 JoseBacelarAlmeida
Já estão disponíveis as notas da época normal ManuelBernardoBarbosa 30 Jan 2007 Site criado. ManuelBernardoBarbosa 21 Sep 2006
CriptoBioT0809 13 Dec 2008 - 23:16 - r6 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Sumários das aulas Teóricas (2008/2009) Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: 25/09 ...
CriptoBioTP0809 11 Dec 2008 - 10:56 - r15 JoseBacelarAlmeida
Criptografia Mestrado Integrado em Engenharia Biomédica Guiões das aulas Teórico Práticas 2008/2009 Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: ...
CriptografiaAplicada0405 19 Sep 2008 - 13:24 - r20 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2004 2005 Notas Notas do exame de recurso (contactar MBB por e mail para agendar exame oral) Notas dos trabalhos ...
CriptografiaAplicada0506 19 Sep 2008 - 13:24 - r23 JoseBacelarAlmeida
Notícias Education.Criptografia Aplicada 2005 2006 Edição 2004 2005 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) AlcinoCunha Hor ...
CriptografiaAplicada0607 19 Sep 2008 - 13:24 - r32 JoseBacelarAlmeida
Notícias Criptografia Aplicada 2006 2007 (Edição 2005 2006, Edição 2004 2005) Notas Notas da época especial Notas da Época de Recurso Notas do exame ...
CriptografiaAplicada0708 24 Sep 2008 - 10:35 - r25 JoseBacelarAlmeida
Notícias 2007 2008 Criptografia Aplicada Criptografia e Segurança da Informação (Edição 2006 2007, Edição 2005 2006, Edição 2004 2005) Equipa Docente Jos ...
CriptografiaAplicada0708Projs 19 Sep 2008 - 13:24 - r6 JoseBacelarAlmeida
Mini Projectos Projecto 4: Site para intranet com autenticação baseada em Certificados X509 Prazo: 3 semanas (entrega/demonstração na aula do dia 8 de Janeiro ...
CriptografiaAplicadaTP0607 09 Dec 2007 - 02:42 - r19 JoseBacelarAlmeida
Sessões laboratoriais de CA (2006/2007) Aula 1 Arquitectura Cliente Servidor Pretende se construir uma plataforma que permita a um número arbitrário de clientes ...
CriptografiaAplicadaTP0708 19 Sep 2008 - 13:24 - r12 JoseBacelarAlmeida
Sessões laboratoriais de CA (2007/2008) #AulaUm Aula 1 Ambiente de Desenvolvimento O objectivo principal desta aula é o de escolher/instalar o ambiente de desenvolvimento ...
CriptografiaAplicadaTP0708Turnos 10 Oct 2007 - 01:17 - r3 JoseBacelarAlmeida
Turno 1 (16:00 18:00) Número Curso Nome 30259 LESI Rui ??? 35308 LESI Francisco Leite 8808 LESI Álvaro Agante 40625 ...
CriptografiaBiomedica0506 24 Sep 2008 - 18:59 - r6 JoseBacelarAlmeida
Education.Criptografia Licenciatura em Engenharia Biomédica Ramo Bioinformática 4º Ano 1º Semestre Ano lectivo 2005/2006 Programa Conceitos ...
CriptografiaBiomedica0607 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
Notícias Criptografia 2006 2007 Licenciatura em Engenharia Biomédica (Edição 2005 2006) Notas Notas da época de recurso: Número Nome Nota ...
CriptografiaBiomedica0809 02 Jul 2009 - 17:11 - r14 JoseBacelarAlmeida
Criptografia 2008 2009 Licenciatura em Engenharia Biomédica (Edição 2006 2007; Edição 2005 2006) Equipa Docente José Carlos Bacelar Almeida (responsável pela ...
CriptografiaBiomedicaProj0809 05 Dec 2008 - 22:56 - r2 JoseBacelarAlmeida
Mini Projecto Prático Descrevem se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais ...
CriptografiaLECOM0506 19 Sep 2008 - 13:41 - r21 JoseBacelarAlmeida
Notícias Education.Criptografia LECOM 2005 2006 Equipa Docente ManuelBernardoBarbosa (responsável pela disciplina) Horários Tipo Horário Docente ...
CriptografiaLECOM0607 19 Sep 2008 - 13:40 - r19 JoseBacelarAlmeida
Notícias Criptografia MECOM 2006 2007 Notas Notas da época especial Notas do Recurso Notas da 2a chamada Notas da 1a chamada Avaliação ...
CriptografiaMestradoNews0405 12 Feb 2007 - 19:22 - r5 JoseBacelarAlmeida
14 Out As notas do exame de recurso já saíram. 25 Jul As notas do exame já saíram. Caso o desejem, é possível marcar um exame oral para os alunos que reprovaram ...
CriptografiaMestradoNews0506 07 Mar 2007 - 00:37 - r8 JoseBacelarAlmeida
Sumário: IPSec e Secure Sockets Layer (SSL/TLS). ManuelBernardoBarbosa 2 Jun 2006 Sumário: On Line Certificate Status Protocol. ManuelBernardoBarbosa ...
CriptografiaMestradoNews0607 19 Sep 2008 - 13:41 - r2 JoseBacelarAlmeida
Criação do Site JoseBacelarAlmeida 07 Mar 2007
CriptografiaMestrados0304 19 Sep 2008 - 13:41 - r7 JoseBacelarAlmeida
Education.Criptografia MICEI Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados MSDPA 2003 2004 Notas MICEI MSDPA Respons ...
CriptografiaMestrados0405 19 Sep 2008 - 13:41 - r12 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) Segurança e Privacidade em Sistemas de Armazenamento e Transporte de Dados (MSDPA) 2004 2005 Docente AlcinoCunha ...
CriptografiaMestrados0506 19 Sep 2008 - 13:41 - r9 JoseBacelarAlmeida
Notícias Education.Criptografia (MICEI) 2005 2006 Docente ManuelBernardoBarbosa Programa Conceitos Fundamentais Education.Criptografia, Criptoan ...
CriptografiaMestrados0607 19 Sep 2008 - 13:41 - r18 JoseBacelarAlmeida
Criptografia (MICEI) / Segurança e Privacidade de Sistemas de Armazenamento e Transporte de Dados (MSDPA) Ano Lectivo 2006 2007 Ano Lectivo 2006 2007 Docente ...
ElementosCriptografia0304 19 Sep 2008 - 13:35 - r15 JoseBacelarAlmeida
Elementos/Fundamentos de Education.Criptografia 2003 2004 Notas Notas Finais (XLS) Notas dos exames das duas chamadas Notas dos trabalhos práticos ...
ElementosCriptografia0405 19 Sep 2008 - 13:35 - r10 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
ElementosCriptografia0506 14 May 2009 - 23:35 - r19 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ...
ElementosCriptografia0607 19 Sep 2008 - 13:36 - r12 JoseBacelarAlmeida
Notícias Elementos/Fundamentos de Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computação 4º ...
ElementosCriptografiaNews0405 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
27 Jul Já sairam as notas da época de recurso. 15 Jul Já sairam as notas da época normal. 1 Jul A data limite para entrega de trabalhos é o dia 13 de Julho. Marquem ...
ElementosCriptografiaNews0506 19 Sep 2008 - 13:36 - r15 JoseBacelarAlmeida
Projectos a data limite para a entrega dos projectos (protocolo Multicert/UM ) é 30 de Setembro de 2006. JoseBacelarAlmeida 11 Set 2006 Classificações As ...
ElementosCriptografiaNews0607 19 Sep 2008 - 13:36 - r9 JoseBacelarAlmeida
Notas saíram as notas da 1ª chamada PaulaCristinaValenca 27 Jul 2007 JOIN'07 devido a estar a decorrer as join'07, não haverá aula dia 10/05. PaulaCristinaValenca ...
ElementosCriptografiaNotas0506 26 Feb 2007 - 00:08 - r3 JoseBacelarAlmeida
Avaliação de Elementos/Fundamentos de Education.Criptografia Classificações LESI Num. Nome Prática ...
ElementosCriptografiaNotas0607 19 Sep 2008 - 13:35 - r3 JoseBacelarAlmeida
Avaliação de Elementos de Criptografia Classificações Num. Nome Trab.1 Trab.2 FINAL Exame 1a ...
ElementosCriptografiaProjs0506 26 Feb 2007 - 00:10 - r9 JoseBacelarAlmeida
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 ...
ElementosCriptografiaTP0405 26 Feb 2007 - 00:20 - r5 JoseBacelarAlmeida
Elementos de Education.Criptografia Trabalho Prático 1 (9 Mar) Efectue a criptoanálise destes quatro criptogramas que foram obtidos recorrendo a cifras de substitui ...
ElementosCriptografiaTP0506 26 Feb 2007 - 00:20 - r24 JoseBacelarAlmeida
Sessões laboratoriais de EC 5ª feira, 14:00 16:00, DI 1.04 23/02/2006 Apresentação Apresentação e inscrição nos turnos. 02/03/2006 Introdução ao ao PARI ...
ElementosCriptografiaTP0607 19 Sep 2008 - 13:35 - r14 JoseBacelarAlmeida
Sessões laboratoriais de EC 5ª feira, 16:00 18:00, DI 1.04 01/03/2007 Introdução ao PARI/GP Esta sessão é acompanhada de um documento PDF que apresenta uma vers ...
ElementosCriptografiaTrab 10 Jul 2007 - 18:03 - r6 PaulaCristinaValenca?
Trabalhos Práticos de EC 2006/2007 Trabalho 1: Cifra RSA Implemente em PARI/GP a geração de chaves RSA assim como as primitivas de cifragem e decifragem RSA ...
IdeiasProjectos 27 Feb 2006 - 18:06 - r3 JoseBacelarAlmeida
Projectos Título Enquadramento Orientador Resumo Interface Haskell para GMP ElementosCriptografia0405 ManuelBernardoBarbosa A GMP (GNU ...
LECOMNews0506 24 Feb 2007 - 16:13 - r11 ManuelBernardoBarbosa
Sumário: Entrega de trabalhos práticos. ManuelBernardoBarbosa 6 Jun 2006 Sumário: On Line Certificate Status Protocol (OCSP) e Secure Sockets Layer (SSL) ...
LECOMNews0607 19 Sep 2008 - 13:40 - r7 JoseBacelarAlmeida
Para consultar o exame da época especial, contactar o docente da disciplina. ManuelBernardoBarbosa 20 Set 2007 Os exames de recurso poderão ser cunsultados na ...
LabCom6 19 Jul 2007 - 20:43 - r9 ManuelBernardoBarbosa
Laboratórios de Comunicações 6 MECOM 2006/2007 Notas Notas finais Avisos Entregas Dia 26 de Junho Todos os grupos irão apresentar os projectos ...
MenuTopics 24 Sep 2008 - 18:59 - r11 JoseBacelarAlmeida
CA CriptoBio LECOM MICEI EC Opcao III
OIII0607 19 Sep 2008 - 13:37 - r2 JoseBacelarAlmeida
Projectos de Opção III 2006/2007 Todos os seguintes projectos serão orientados por MBB ou JBA conjuntamente com um elemento da empresa Multicert. Microsoft Office ...
WebArchive 24 Sep 2008 - 18:59 - r2 JoseBacelarAlmeida
MI/MEI Criptografia e Segurança em Sistemas de Informação 2008/2009 LESI/LMCC Criptografia Aplicada 2007/2008 2006/2007 2005/2006 2004 ...
WebChanges 16 Aug 2001 - 19:58 - NEW PeterThoeny?
WebCss 16 Feb 2007 - 20:58 - NEW ManuelBernardoBarbosa
.natRevision { width:0px; height:0px; overflow:hidden; } .natBreadCrumbs { width:0px; height:0px; overflow:hidden; } .natMainFooterContents, .natMainHeaderContents ...
WebHome 19 Sep 2008 - 13:41 - r29 JoseBacelarAlmeida
Team JoseManuelValenca ManuelBernardoBarbosa JoseBacelarAlmeida AlcinoCunha Teaching LESI Criptografia Aplicada Elementos de ...
WebIndex 24 Nov 2001 - 11:41 - r2 PeterThoeny?
See also the faster WebTopicList
WebLeftBar 24 Feb 2007 - 16:01 - r2 ManuelBernardoBarbosa
WebNotify 28 Aug 2004 - 07:30 - r4 PeterThoeny?
This is a subscription service to be automatically notified by e mail when topics change in this Education/Criptografia web. This is a convenient service, so you ...
WebPreferences 26 Feb 2007 - 15:24 - r17 JoseBacelarAlmeida
Education/Criptografia Web Preferences The following settings are web preferences of the Education/Criptografia web. These preferences overwrite the site level ...
WebRss 16 Aug 2004 - 03:27 - r2 PeterThoeny?
TWiki's Education/Criptografia web /view/Education/Criptografia The Education/Criptografia web of TWiki. TWiki is a Web Based Collaboration Platform for the Corporate ...
WebSearch 08 Aug 2001 - 05:26 - NEW PeterThoeny?
WebSearchAdvanced 18 Jan 2004 - 10:52 - NEW PeterThoeny?
WebSideBar 05 Oct 2008 - 21:13 - r8 JoseBacelarAlmeida
Disciplinas Criptografia (Biomédica) CSSI Outras Avisos " else ""}%
WebStatistics 19 Sep 2008 - 13:37 - r331 JoseBacelarAlmeida
Statistics for Education/Criptografia Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for ...
WebTopicList 24 Nov 2001 - 11:40 - NEW PeterThoeny?
See also the verbose WebIndex.
WorkshopSI 15 Feb 2007 - 08:41 - r5 ManuelBernardoBarbosa
Workshop em Segurança da Informação Departamento de Informática da Universidade do Minho 23 de Fevereiro de 2007 Apresentação A Workshop em Segurança de Informa ...
Found 74 topics.

See also the faster WebTopicList

WebLeftBar 24 Feb 2007 - 16:01 - r2 ManuelBernardoBarbosa
WebNotify 28 Aug 2004 - 07:30 - r4 PeterThoeny?
This is a subscription service to be automatically notified by e-mail when topics change in this Education/Criptografia web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your WikiName in alphabetical order to this list:

Web Changes Notification Service

Each TWiki web has an automatic e-mail notification service that sends you an e-mail with links to all of the topics modified since the last alert.

Users subscribe to email notifications using their WikiName or an alternative email address, and can specify the webs/topics they wish to track using one of these bullet list formats:

three spaces * [ webname . ] wikiName - SMTP mail address
three spaces * [ webName . ] wikiName
three spaces * SMTP mail address
three spaces * SMTP mail address : topics
three spaces * [ webname . ] wikiName : topics

In the above examples, topics is a space-separated list of topic names. The user may further customize the specific content they will receive using the following formats:

  • Specify topics without a Web. prefix
  • Topics must exist in this web.
  • Topics may be specified using * wildcards
  • Each topic may optionally be preceded by a '+' or '-' sign. The '+' sign means "subscribe to this topic" (the same as not putting anything). The '-' sign means "unsubscribe" or "don't send notifications regarding this topic". This allows users to elect to filter out certain topics (and their children, to an arbitrary depth). Topic filters ('-') take precedence over topic includes ('+').
  • Each topic may optionally be followed by an integer in parentheses, indicating the depth of the tree of children below that topic. Changes in all these children will be detected and reported along with changes to the topic itself. Note This uses the TWiki "Topic parent" feature.
  • Each topic may optionally be immediately followed by an exclamation mark ! or a question mark ? with no intervening spaces, indicating that the topic (and children if there is a tree depth specifier as well) should be mailed out as complete topics instead of change summaries. ! causes the topic to be mailed every time even if there have been no changes, ? will mail the topic only if there have been changes to it. This only makes sense for subscriptions.

For example: Subscribe Daisy to all changes to topics in this web.

   * daisy.cutter@flowers.com
Subscribe Daisy to all changes in all webs that start with Web.
   * daisy.cutter@flowers.com: Web*
Subscribe Daisy to changes to topics starting with Petal, and their immediate children, WeedKillers and children to a depth of 3, and all topics that match start with Pretty and end with Flowers e.g. PrettyPinkFlowers
   * TWiki.DaisyCutter: Petal* (1) TWiki.WeedKillers (3) Pretty*Flowers
Subscribe StarTrekFan to changes to all topics that start with Star except those that end in Wars, sInTheirEyes or shipTroopers.
   * TWiki.StarTrekFan: Star* - *Wars - *sInTheirEyes - *shipTroopers
Subscribe Daisy to the full content of NewsLetter whenever it has changed
   * daisy@flowers.com: TWiki.NewsLetter?
Subscribe buttercup to NewsLetter and its immediate children, even if it hasn't changed.
   * buttercup@flowers.com: TWiki.NewsLetter! (1)
Subscribe GardenGroup (which includes Petunia) to all changed topics under AllnewsLetters to a depth of 3. Then unsubscribe Petunia from the ManureNewsLetter, which she would normally get as a member of GardenGroup? :
   * TWiki.GardenGroup: TWiki.AllNewsLetters? (3)
   * petunia@flowers.com: - TWiki.ManureNewsLetter
A user may be listed many times in the WebNotify topic. Where a user has several lines in WebNotify that all match the same topic, they will only be notified about changes that topic once (though they will still receive individual mails for news topics).

If a TWiki group is listed for notification, the group will be recursively expanded to the e-mail addresses of all members.

TIP Tip: List names in alphabetical order to make it easier to find the names.

Note for System Administrators: Notification is supported by an add-on to the TWiki kernel called the MailerContrib. See the MailerContrib topic for details of how to set up this service.

Note: If you prefer a news feed, point your reader to WebRss (for RSS 1.0 feeds) or WebAtom? (for ATOM 1.0 feeds). Learn more at WebRssBase and WebAtomBase, respectively.

Related topics: WebChangesAlert, TWikiUsers, TWikiRegistration

WebPreferences 26 Feb 2007 - 15:24 - r17 JoseBacelarAlmeida

Education/Criptografia Web Preferences

The following settings are web preferences of the Education.Criptografia web. These preferences overwrite the site-level preferences in TWikiPreferences, and can be overwritten by user preferences (your personal topic, eg: TWikiGuest in the Main web).

Preferences:

  • Set SKIN=nat

  • Set SKINSTYLE = Plain
  • Set STYLEBORDER = thin
  • Set STYLEBUTTONS = off
  • Set STYLESIDEBAR = left
  • Set STYLEVARIATION = none
  • Set STYLESEARCHBOX = off

  • Set WEBTITLE = Criptografia @ DIUM/CCTC
  • Set PAGETITLE = Criptografia @ DIUM/CCTC
  • Set NATWEBLOGO = Criptografia @ DIUM/CCTC
  • Set WEBLOGOURL = WebHome
  • Set WEBLOGOIMG =
  • Set WEBLOGOALT = Criptografia @ DIUM/CCTC

  • Set SITEMAPUSETO =

  • Set WEBCOPYRIGHT = This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.

  • List of topics of the TWiki.Education/Criptografia web:

  • Web specific background color: (Pick a lighter one of the StandardColors)
    • Set WEBBGCOLOR = #99CC00

  • List this web in the SiteMap:
    • If yes, set SITEMAPLIST to on, do not set NOSEARCHALL, and add the "what" and "use to..." description for the site map. Make sure to list only links that include the name of the web, e.g. Education/Criptografia.Topic links.
    • Set SITEMAPLIST = on
    • Set SITEMAPWHAT = Criptografia @ DI
    • Set SITEMAPUSETO =

  • Exclude web from a web="all" search: (Set to on for hidden webs)
    • Set NOSEARCHALL =

  • Prevent automatic linking of WikiWords and acronyms (if set to on); link WikiWords (if empty); can be overwritten by web preferences:
    • Set NOAUTOLINK =
    • Note: Use the [[...][...]] syntax to link topics in case you disabled WikiWord linking. The <noautolink> ... </noautolink> syntax can be used to prevents links within a block of text.

  • Default template for new topics and form(s) for this web:
    • WebTopicEditTemplate? : Default template for new topics in this web. (Site-level is used if topic does not exist)
    • TWiki.WebTopicEditTemplate: Site-level default template
    • TWikiForms: How to enable form(s)
    • Set WEBFORMS =

  • Web preferences that are not allowed to be overridden by user preferences:
    • Set FINALPREFERENCES = NOSEARCHALL, ATTACHFILESIZELIMIT, WIKIWEBMASTER, WEBCOPYRIGHT, WEBTOPICLIST, DENYWEBVIEW, ALLOWWEBVIEW, DENYWEBCHANGE, ALLOWWEBCHANGE, DENYWEBRENAME, ALLOWWEBRENAME

Notes:

  • A preference is defined as:
    6 spaces * Set NAME = value
    Example:
    • Set WEBBGCOLOR = #FFFFC0
  • Preferences are used as TWikiVariables by enclosing the name in percent signs. Example:
    • When you write variable %WEBBGCOLOR% , it gets expanded to #99CC00 .
  • The sequential order of the preference settings is significant. Define preferences that use other preferences first, i.e. set WEBCOPYRIGHT before WIKIWEBMASTER since %WEBCOPYRIGHT% uses the %WIKIWEBMASTER% variable.
  • You can introduce new preferences variables and use them in your topics and templates. There is no need to change the TWiki engine (Perl scripts).

Related Topics:

WebRss 16 Aug 2004 - 03:27 - r2 PeterThoeny?
TWiki's Education/Criptografia web http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia The Education/Criptografia web of TWiki. TWiki is a Web-Based Collaboration Platform for the Corporate World. en-us Copyright 2020 by contributing authors TWiki Administrator [webmaster@di.uminho.pt] The contributing authors of TWiki TWiki DIUM.Education/Criptografia http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia /twiki/pub/Main/LocalLogos/um_eengP.jpg CSSI0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSSI0809 Criptografia e Segurança de Sistemas de Informação Edição 2008/2009 2009/2010 (incluindo temas de tese) Equipa Docente José Manuel Valença (TC) Manuel ... (last changed by ManuelBernardoBarbosa) 2009-09-29T17:01:09Z ManuelBernardoBarbosa CSI0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSI0809 Criptografia e Segurança da Informação 2008/2009 Programa Teoria: Introdução: conceitos e terminologia. Cifras simétricas: sequenciais e por blocos ... (last changed by JoseBacelarAlmeida) 2009-07-22T01:44:11Z JoseBacelarAlmeida AvisosCSSI0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/AvisosCSSI0809 13/07: Disponíveis notas de GSI/PSC (secção de Avaliação). 15/06: Disponíveis notas finais do módulo de SSI (secção de Avaliação). 03/03: Disponíveis notas finais ... (last changed by ManuelBernardoBarbosa) 2009-07-13T18:34:50Z ManuelBernardoBarbosa CriptografiaBiomedica0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptografiaBiomedica0809 Criptografia 2008 2009 Licenciatura em Engenharia Biomédica (Edição 2006 2007; Edição 2005 2006) Equipa Docente José Carlos Bacelar Almeida (responsável pela ... (last changed by JoseBacelarAlmeida) 2009-07-02T17:11:58Z JoseBacelarAlmeida CriptoBio0809Programa http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptoBio0809Programa Criptografia (MIEBIO) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia Conceitos ... (last changed by JoseBacelarAlmeida) 2009-07-02T16:56:53Z JoseBacelarAlmeida CSSI-PI0809-2 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSSI-PI0809-2 Projecto Integrador Sumários (2º Sem.) MI CSSI (2008/2009) 03/03/2009, 14:00 16:00 Apresentação dos projectos do 2º semestre: Sistema de Armazenamento ... (last changed by JoseBacelarAlmeida) 2009-07-01T16:24:30Z JoseBacelarAlmeida CSSI-PI0809-1 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSSI-PI0809-1 Projecto Integrador Sumários (1º Sem.) MI CSSI (2008/2009) 30/09/2008, 18:00 20:00 Ambiente de Desenvolvimento Utilização do framework JCA/JCE . Continua ... (last changed by JoseBacelarAlmeida) 2009-07-01T15:49:03Z JoseBacelarAlmeida CSI0809Programa http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSI0809Programa Criptografia e Segurança da Informação (UCE CSSI) Programa detalhado (2008/2009) Teórica Introdução e Terminologia Criptografia, Criptoanálise e Criptologia ... (last changed by JoseBacelarAlmeida) 2009-07-01T11:30:37Z JoseBacelarAlmeida ElementosCriptografia0506 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/ElementosCriptografia0506 Notícias Elementos/Fundamentos de Education.Criptografia Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática e Ciências da Computa ... (last changed by JoseBacelarAlmeida) 2009-05-14T23:35:16Z JoseBacelarAlmeida AvisosCriptoBio0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/AvisosCriptoBio0809 03/02/2009: Já estão disponíveis as notas do teste. 12/01/2009: Já está disponível a avaliação prática da disciplina. 30/12/2008: Sessão de defesa dos trabalhos ... (last changed by JoseBacelarAlmeida) 2009-02-04T05:08:43Z JoseBacelarAlmeida CriptoBioT0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptoBioT0809 Criptografia Mestrado Integrado em Engenharia Biomédica Sumários das aulas Teóricas (2008/2009) Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: 25/09 ... (last changed by JoseBacelarAlmeida) 2008-12-13T23:16:09Z JoseBacelarAlmeida CriptoBioTP0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptoBioTP0809 Criptografia Mestrado Integrado em Engenharia Biomédica Guiões das aulas Teórico Práticas 2008/2009 Aula 1: 18/09/2008 Apresentação da disciplina. Aula 2: ... (last changed by JoseBacelarAlmeida) 2008-12-11T10:56:57Z JoseBacelarAlmeida CSITP0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSITP0809 Conceitos de Sistemas Criptográficos (TP) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 16:00 18:00 Ambiente de Desenvolvimento O objectivo principal ... (last changed by JoseBacelarAlmeida) 2008-12-07T22:56:31Z JoseBacelarAlmeida CriptografiaBiomedicaProj0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CriptografiaBiomedicaProj0809 Mini Projecto Prático Descrevem se os projectos práticos da disciplina de Criptografia do Mestrado Integrado em Engenharia Biomédica. As componentes aplicacionais ... (last changed by JoseBacelarAlmeida) 2008-12-05T22:56:47Z JoseBacelarAlmeida CSIT0809 http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/CSIT0809 Conceitos de Sistemas Criptográficos (T) Sumários MI CSSI (2008/2009) #AulaUm Aula 1 30/09/2008, 14:00 16:00 Apresentação do Módulo: programa, organizaç ... (last changed by JoseBacelarAlmeida) 2008-11-25T22:26:05Z JoseBacelarAlmeida WebSideBar http://wiki.di.uminho.pt/twiki/bin/view/Education/Criptografia/WebSideBar Disciplinas Criptografia (Biomédica) CSSI Outras Avisos " else ""}% (last changed by JoseBacelarAlmeida) 2008-10-05T21:13:35Z JoseBacelarAlmeida

WebSearch 08 Aug 2001 - 05:26 - NEW PeterThoeny?

Web Search

Search: \.*

Found 0 topics.

  Advanced search | Help
TIP: to search for all topics that contain "SOAP", "WSDL", a literal "web service", but not "shampoo", write: soap wsdl "web service" -shampoo
Search where:       
(otherwise search Education/Criptografia Web only)

Other search options:
WebSearchAdvanced 18 Jan 2004 - 10:52 - NEW PeterThoeny?

Warning
Can't INCLUDE TWiki.WebSearchAdvanced repeatedly, topic is already included.
WebSideBar 05 Oct 2008 - 21:13 - r8 JoseBacelarAlmeida

Disciplinas

Criptografia (Biomédica)

CSSI

Outras

Avisos

WebStatistics 19 Sep 2008 - 13:37 - r331 JoseBacelarAlmeida

Statistics for Education/Criptografia Web

Month: Topic
views:
Topic
saves:
File
uploads:
Most popular
topic views:
Top contributors for
topic save and uploads:
Feb 2007 1116 11 7 515 CriptografiaAplicada0607
 74 CriptografiaLECOM0506
 46 WebHome
 43 CriptografiaBiomedica0607
 39 ElementosCriptografiaNotas0506
 37 CriptografiaAplicadaTP0607
 37 ElementosCriptografia0506
 28 ElementosCriptografiaTP0506
 27 OIII0607
 25 CriptografiaMestrados0506
 20 WebStatistics
 18 ManuelBernardoBarbosa
Jan 2007 4825 17 11 2186 CriptografiaAplicada0607
401 CriptografiaLECOM0506
219 ElementosCriptografiaNotas0506
198 CriptografiaBiomedica0607
185 CriptografiaAplicadaTP0607
152 ElementosCriptografia0506
135 CriptografiaAplicada0506
132 WebHome
 99 ElementosCriptografiaTP0506
 93 CriptografiaAplicada0405
 81 ElementosCriptografia0405
 28 ManuelBernardoBarbosa
Dec 2006 3138 23 15 965 CriptografiaAplicada0607
456 CriptografiaAplicadaTP0607
221 CriptografiaBiomedica0607
220 ElementosCriptografiaNotas0506
128 WebHome
125 ElementosCriptografia0506
123 CriptografiaLECOM0506
 93 WebStatistics
 73 CriptografiaAplicada0506
 71 CANews0607
 62 ElementosCriptografiaTP0506
 35 ManuelBernardoBarbosa
  3 JoseBacelarAlmeida
Nov 2006 2331 42 20 696 CriptografiaAplicada0607
444 CriptografiaAplicadaTP0607
138 WebHome
120 ElementosCriptografia0506
115 CriptografiaBiomedica0607
 93 ElementosCriptografiaTP0506
 83 ElementosCriptografiaNotas0506
 58 WebChanges
 47 OIII0607
 43 ElementosCriptografia0405
 40 WebIndex
 32 ManuelBernardoBarbosa
 30 JoseBacelarAlmeida
Oct 2006 4311 50 6 1171 CriptografiaAplicada0607
548 ElementosCriptografiaNotas0506
501 CriptografiaAplicadaTP0607
228 CriptografiaAplicada0506
193 CriptografiaLECOM0506
188 ElementosCriptografia0506
173 CriptografiaBiomedica0607
145 WebStatistics
138 WebHome
138 WebChanges
121 CriptografiaBiomedica0506
 36 ManuelBernardoBarbosa
 20 JoseBacelarAlmeida
Sep 2006 2288 39 9 515 CriptografiaAplicada0607
339 WebStatistics
170 CriptografiaAplicada0506
155 ElementosCriptografia0506
102 CriptografiaAplicadaTP0607
 98 ElementosCriptografiaNotas0506
 88 OIII0607
 86 WebHome
 85 CriptografiaLECOM0506
 58 ElementosCriptografiaTP0506
 43 CriptografiaAplicada0405
 44 ManuelBernardoBarbosa
  4 JoseBacelarAlmeida
Aug 2006 1180 0 0 214 WebStatistics
149 ElementosCriptografia0506
139 CriptografiaAplicada0506
 90 CriptografiaLECOM0506
 63 ElementosCriptografiaTP0506
 56 WebHome
 51 ElementosCriptografiaNotas0506
 40 CriptografiaAplicada0405
 38 ElementosCriptografiaProjs0506
 32 CriptografiaMestrados0506
 31 ElementosCriptografia0405
 
Jul 2006 2989 25 4 1401 ElementosCriptografia0506
339 ElementosCriptografiaNotas0506
222 CriptografiaAplicada0506
152 CriptografiaLECOM0506
 87 WebHome
 85 WebChanges
 77 ElementosCriptografiaTP0506
 65 CriptografiaAplicada0405
 62 WebStatistics
 50 ElementosCriptografiaNews0506
 50 CriptografiaMestrados0506
 17 JoseBacelarAlmeida
 12 ManuelBernardoBarbosa
Jun 2006 2333 18 7 423 ElementosCriptografia0506
283 CriptografiaAplicada0506
200 CriptografiaLECOM0506
164 ElementosCriptografiaTP0506
141 WebStatistics
102 WebHome
 85 WebChanges
 74 ElementosCriptografia0405
 63 CriptografiaMestrados0506
 61 CANewS0506
 58 ElementosCriptografia0304
 20 ManuelBernardoBarbosa
  5 JoseBacelarAlmeida
May 2006 2343 39 5 483 ElementosCriptografia0506
260 CriptografiaAplicada0506
242 ElementosCriptografiaTP0506
148 CriptografiaLECOM0506
116 WebStatistics
 87 ElementosCriptografiaProjs0506
 83 CriptografiaAplicada0405
 82 WebHome
 66 ElementosCriptografia0304
 57 ElementosCriptografia0405
 57 LECOMNews0506
 24 JoseBacelarAlmeida
 19 ManuelBernardoBarbosa
  1 JoseManuelValenca
Apr 2006 2371 40 3 416 ElementosCriptografia0506
281 ElementosCriptografiaTP0506
276 CriptografiaAplicada0506
199 WebStatistics
123 CriptografiaLECOM0506
 98 CriptografiaAplicada0405
 66 ElementosCriptografiaNews0506
 63 ElementosCriptografia0304
 62 WebHome
 58 CriptografiaMestrados0506
 55 CriptografiaMestrados0405
 30 JoseBacelarAlmeida
 13 ManuelBernardoBarbosa
Mar 2006 4025 39 5 616 ElementosCriptografia0506
520 CriptografiaAplicada0506
451 ElementosCriptografiaTP0506
206 WebStatistics
194 CriptografiaLECOM0506
170 ElementosCriptografia0405
161 WebHome
129 ElementosCriptografia0304
126 CriptografiaAplicada0405
113 CriptografiaMestrados0405
109 CriptografiaMestrados0506
 30 JoseBacelarAlmeida
 14 ManuelBernardoBarbosa
Feb 2006 3425 30 3 1654 CriptografiaAplicada0506
457 ElementosCriptografia0405
111 WebStatistics
105 ElementosCriptografia0304
101 WebHome
 92 CriptografiaMestrados0405
 90 ElementosCriptografiaTP0405
 89 ElementosCriptografiaNews0405
 83 CriptografiaAplicada0405
 83 IdeiasProjectos
 79 WebChanges
 33 ManuelBernardoBarbosa
Jan 2006 2272 8 4 886 CriptografiaAplicada0506
183 ElementosCriptografia0405
183 WebStatistics
119 WebHome
101 CriptografiaMestrados0405
 98 CriptografiaAplicada0405
 85 WebChanges
 70 ElementosCriptografia0304
 60 WebIndex
 58 WebSearch
 57 ElementosCriptografiaNews0405
 12 ManuelBernardoBarbosa
Dec 2005 2491 6 2 636 CriptografiaAplicada0506
187 CriptografiaAplicada0405
177 ElementosCriptografia0405
164 WebStatistics
132 CriptografiaMestrados0405
126 WebHome
123 ElementosCriptografiaNews0405
122 ElementosCriptografia0304
 88 WebIndex
 84 WebNotify
 83 WebChanges
  8 ManuelBernardoBarbosa
Nov 2005 1581 7 2 436 CriptografiaAplicada0506
158 ElementosCriptografia0405
115 CriptografiaAplicada0405
115 WebStatistics
 89 WebHome
 87 CriptografiaMestrados0405
 74 WebChanges
 55 ElementosCriptografiaNews0405
 52 WebIndex
 51 ElementosCriptografia0304
 51 WebNotify
  7 ManuelBernardoBarbosa
  2 AlcinoCunha
Oct 2005 2560 22 10 786 CriptografiaAplicada0506
258 ElementosCriptografia0405
217 CriptografiaAplicada0405
214 WebStatistics
128 WebHome
112 CriptografiaMestrados0405
103 WebChanges
 87 ElementosCriptografiaNews0405
 77 ElementosCriptografia0304
 72 WebSearch
 61 IdeiasProjectos
 28 ManuelBernardoBarbosa
  4 AlcinoCunha
Sep 2005 1694 15 1 379 CriptografiaAplicada0506
202 ElementosCriptografia0405
133 CriptografiaAplicada0405
122 WebStatistics
108 CriptografiaMestrados0405
 88 WebHome
 83 ElementosCriptografiaNews0405
 68 ElementosCriptografia0304
 64 WebChanges
 60 WebNotify
 58 WebIndex
 15 ManuelBernardoBarbosa
  1 AlcinoCunha
Aug 2005 1086 0 0 151 WebStatistics
145 WebRss
122 ElementosCriptografia0405
 73 WebHome
 65 ElementosCriptografia0304
 62 CriptografiaMestrados0405
 58 ElementosCriptografiaNews0405
 50 WebIndex
 50 WebNotify
 49 IdeiasProjectos
 47 WebChanges
 
Jul 2005 1258 6 2 369 ElementosCriptografia0405
109 WebStatistics
 92 WebHome
 79 CriptografiaMestrados0405
 72 WebChanges
 70 ElementosCriptografiaTP0405
 65 ElementosCriptografia0304
 59 WebNotify
 53 IdeiasProjectos
 52 ElementosCriptografiaNews0405
 52 WebIndex
  8 AlcinoCunha
Jun 2005 1580 0 0 255 WebStatistics
189 ElementosCriptografia0405
126 WebHome
115 ElementosCriptografia0304
100 WebChanges
 96 CriptografiaMestrados0405
 96 ElementosCriptografiaTP0405
 90 ElementosCriptografiaNews0405
 77 WebIndex
 68 IdeiasProjectos
 68 WebNotify
 
May 2005 1560 2 0 238 WebStatistics
229 ElementosCriptografia0405
138 WebHome
119 CriptografiaMestrados0405
111 ElementosCriptografia0304
 88 ElementosCriptografiaTP0405
 84 ElementosCriptografiaNews0405
 80 IdeiasProjectos
 76 WebChanges
 75 WebNotify
 62 WebIndex
  2 AlcinoCunha
Apr 2005 1482 1 0 233 ElementosCriptografia0405
194 WebStatistics
133 CriptografiaMestrados0405
108 WebHome
103 ElementosCriptografia0304
 87 ElementosCriptografiaTP0405
 81 WebChanges
 81 IdeiasProjectos
 77 ElementosCriptografiaNews0405
 72 WebNotify
 58 WebSearch
  1 AlcinoCunha
Mar 2005 1566 43 7 323 ElementosCriptografia0405
195 WebStatistics
147 CriptografiaMestrados0405
119 WebHome
116 ElementosCriptografia0304
 94 ElementosCriptografiaTP0405
 86 WebChanges
 67 IdeiasProjectos
 64 WebPreferences
 63 WebIndex
 63 WebNotify
 48 AlcinoCunha
  2 ManuelBernardoBarbosa
Feb 2005 658 52 3 184 ElementosCriptografia0405
169 ElementosCriptografia0304
 53 WebHome
 44 CriptografiaMestrados0405
 40 ElementosCriptografiaNews0405
 34 CriptografiaMestrados0304
 28 WebStatistics
 17 WebPreferences
 16 WebChanges
 13 MenuTopics
 11 WebSearch
 55 AlcinoCunha
Dec 2004 0 0 0    
Nov 2004 0 0 0    

Notes:

  • Do not edit this topic, it is updated automatically. (You can also force an update)
  • TWikiDocumentation tells you how to enable the automatic updates of the statistics.
  • Suggestion: You could archive this topic once a year and delete the previous year's statistics from the table.
WebTopicList 24 Nov 2001 - 11:40 - NEW PeterThoeny?

See also the verbose WebIndex.

WorkshopSI 15 Feb 2007 - 08:41 - r5 ManuelBernardoBarbosa

Workshop em Segurança da Informação

Departamento de Informática da Universidade do Minho

23 de Fevereiro de 2007


Apresentação

A Workshop em Segurança de Informação terá lugar no dia 23 de Fevereiro de 2007, no âmbito do Simpósio Doutoral do Departamento de Informática (SDDI), na Universidade do Minho.

O objectivo deste evento é apresentar diferentes vertentes de investigação científica em Segurança da Informação desenvolvidas no nosso país por grupos com impacto internacional.

Sendo este um evento essencialmente de divulgação, o conteúdo das comunicações será moderadamente técnico, tendo um público alvo bastante alargado. A Workshop destina-se não só a investigadores na área, mas também a alunos de licenciatura e pós graduação, que poderão perceber o que significa fazer investigação em Segurança da Informação e, naturalmente, a qualquer membro da comunidade com interesse ou curiosidade por esta temática.

Programa

Horário Comunicação Orador/Moderador Afiliação
9:00 Abertura José Manuel Valença Departamento de Informática, Universidade do Minho
9:20 Provas de Segurança Criptográfica Manuel Bernardo Barbosa Departamento de Informática, Universidade do Minho
9:40 Complexidade Algorítmica e Aplicações Luís Antunes Departamento de Ciência de Computadores, Faculdade de Ciências da Universidade do Porto
10:00 Redes Seguras: Camada Física, Roteamento Seguro, Codificação de Rede João Barros Departamento de Ciência de Computadores, Faculdade de Ciências da Universidade do Porto
10:20 Arquitecturas de Segurança: votação electrónica, autenticação multi-domínio, LANs seguras André Zúquete Departamento de Electrónica, Telecomunicações e Informática, Universidade de Aveiro
10:40 Intervalo    
11:00 Segurança Quântica Paulo Mateus Departamento de Matemática, Instituto Superior Técnico
11:20 Análise de protocolos de segurança Carlos Caleiro Departamento de Matemática, Instituto Superior Técnico
11:40 Cryptographic Sound Implementations of Symbolic Cryptography Pedro Adão Departamento de Matemática, Instituto Superior Técnico
12:00 Painel de Discussão José Bacelar Almeida Departamento de Informática, Universidade do Minho
13:00 Encerramento    

Localização

A Workshop terá lugar no edifício do Departamento de Informática, no Campus de Gualtar da Universidade do Minho, em Braga. Esta página contém informação sobre como chegar até ao DIUM.


-- ManuelBernardoBarbosa - 13 Feb 2007

Found 74 topics.

  Simple search | Help
TIP: to search for all topics that contain "SOAP", "WSDL", a literal "web service", but not "shampoo", write: soap wsdl "web service" -shampoo
Search where:


(otherwise search Education/Criptografia Web only)
Sort results by:


Make search:
(semicolon ; for and) about regular expression search
Don't show:

Do show: about BookView
Limit results to: (all to show all topics)

Other search options:
WebSideBar 05 Oct 2008 - 21:13 - r8 JoseBacelarAlmeida

Disciplinas

Criptografia (Biomédica)

CSSI

Outras

Avisos

WebStatistics 19 Sep 2008 - 13:37 - r331 JoseBacelarAlmeida

Statistics for Education/Criptografia Web

Month: Topic
views:
Topic
saves:
File
uploads:
Most popular
topic views:
Top contributors for
topic save and uploads:
Feb 2007 1116 11 7 515 CriptografiaAplicada0607
 74 CriptografiaLECOM0506
 46 WebHome
 43 CriptografiaBiomedica0607
 39 ElementosCriptografiaNotas0506
 37 CriptografiaAplicadaTP0607
 37 ElementosCriptografia0506
 28 ElementosCriptografiaTP0506
 27 OIII0607
 25 CriptografiaMestrados0506
 20 WebStatistics
 18 ManuelBernardoBarbosa
Jan 2007 4825 17 11 2186 CriptografiaAplicada0607
401 CriptografiaLECOM0506
219 ElementosCriptografiaNotas0506
198 CriptografiaBiomedica0607
185 CriptografiaAplicadaTP0607
152 ElementosCriptografia0506
135 CriptografiaAplicada0506
132 WebHome
 99 ElementosCriptografiaTP0506
 93 CriptografiaAplicada0405
 81 ElementosCriptografia0405
 28 ManuelBernardoBarbosa
Dec 2006 3138 23 15 965 CriptografiaAplicada0607
456 CriptografiaAplicadaTP0607
221 CriptografiaBiomedica0607
220 ElementosCriptografiaNotas0506
128 WebHome
125 ElementosCriptografia0506
123 CriptografiaLECOM0506
 93 WebStatistics
 73 CriptografiaAplicada0506
 71 CANews0607
 62 ElementosCriptografiaTP0506
 35 ManuelBernardoBarbosa
  3 JoseBacelarAlmeida
Nov 2006 2331 42 20 696 CriptografiaAplicada0607
444 CriptografiaAplicadaTP0607
138 WebHome
120 ElementosCriptografia0506
115 CriptografiaBiomedica0607
 93 ElementosCriptografiaTP0506
 83 ElementosCriptografiaNotas0506
 58 WebChanges
 47 OIII0607
 43 ElementosCriptografia0405
 40 WebIndex
 32 ManuelBernardoBarbosa
 30 JoseBacelarAlmeida
Oct 2006 4311 50 6 1171 CriptografiaAplicada0607
548 ElementosCriptografiaNotas0506
501 CriptografiaAplicadaTP0607
228 CriptografiaAplicada0506
193 CriptografiaLECOM0506
188 ElementosCriptografia0506
173 CriptografiaBiomedica0607
145 WebStatistics
138 WebHome
138 WebChanges
121 CriptografiaBiomedica0506
 36 ManuelBernardoBarbosa
 20 JoseBacelarAlmeida
Sep 2006 2288 39 9 515 CriptografiaAplicada0607
339 WebStatistics
170 CriptografiaAplicada0506
155 ElementosCriptografia0506
102 CriptografiaAplicadaTP0607
 98 ElementosCriptografiaNotas0506
 88 OIII0607
 86 WebHome
 85 CriptografiaLECOM0506
 58 ElementosCriptografiaTP0506
 43 CriptografiaAplicada0405
 44 ManuelBernardoBarbosa
  4 JoseBacelarAlmeida
Aug 2006 1180 0 0 214 WebStatistics
149 ElementosCriptografia0506
139 CriptografiaAplicada0506
 90 CriptografiaLECOM0506
 63 ElementosCriptografiaTP0506
 56 WebHome
 51 ElementosCriptografiaNotas0506
 40 CriptografiaAplicada0405
 38 ElementosCriptografiaProjs0506
 32 CriptografiaMestrados0506
 31 ElementosCriptografia0405
 
Jul 2006 2989 25 4 1401 ElementosCriptografia0506
339 ElementosCriptografiaNotas0506
222 CriptografiaAplicada0506
152 CriptografiaLECOM0506
 87 WebHome
 85 WebChanges
 77 ElementosCriptografiaTP0506
 65 CriptografiaAplicada0405
 62 WebStatistics
 50 ElementosCriptografiaNews0506
 50 CriptografiaMestrados0506
 17 JoseBacelarAlmeida
 12 ManuelBernardoBarbosa
Jun 2006 2333 18 7 423 ElementosCriptografia0506
283 CriptografiaAplicada0506
200 CriptografiaLECOM0506
164 ElementosCriptografiaTP0506
141 WebStatistics
102 WebHome
 85 WebChanges
 74 ElementosCriptografia0405
 63 CriptografiaMestrados0506
 61 CANewS0506
 58 ElementosCriptografia0304
 20 ManuelBernardoBarbosa
  5 JoseBacelarAlmeida
May 2006 2343 39 5 483 ElementosCriptografia0506
260 CriptografiaAplicada0506
242 ElementosCriptografiaTP0506
148 CriptografiaLECOM0506
116 WebStatistics
 87 ElementosCriptografiaProjs0506
 83 CriptografiaAplicada0405
 82 WebHome
 66 ElementosCriptografia0304
 57 ElementosCriptografia0405
 57 LECOMNews0506
 24 JoseBacelarAlmeida
 19 ManuelBernardoBarbosa
  1 JoseManuelValenca
Apr 2006 2371 40 3 416 ElementosCriptografia0506
281 ElementosCriptografiaTP0506
276 CriptografiaAplicada0506
199 WebStatistics
123 CriptografiaLECOM0506
 98 CriptografiaAplicada0405
 66 ElementosCriptografiaNews0506
 63 ElementosCriptografia0304
 62 WebHome
 58 CriptografiaMestrados0506
 55 CriptografiaMestrados0405
 30 JoseBacelarAlmeida
 13 ManuelBernardoBarbosa
Mar 2006 4025 39 5 616 ElementosCriptografia0506
520 CriptografiaAplicada0506
451 ElementosCriptografiaTP0506
206 WebStatistics
194 CriptografiaLECOM0506
170 ElementosCriptografia0405
161 WebHome
129 ElementosCriptografia0304
126 CriptografiaAplicada0405
113 CriptografiaMestrados0405
109 CriptografiaMestrados0506
 30 JoseBacelarAlmeida
 14 ManuelBernardoBarbosa
Feb 2006 3425 30 3 1654 CriptografiaAplicada0506
457 ElementosCriptografia0405
111 WebStatistics
105 ElementosCriptografia0304
101 WebHome
 92 CriptografiaMestrados0405
 90 ElementosCriptografiaTP0405
 89 ElementosCriptografiaNews0405
 83 CriptografiaAplicada0405
 83 IdeiasProjectos
 79 WebChanges
 33 ManuelBernardoBarbosa
Jan 2006 2272 8 4 886 CriptografiaAplicada0506
183 ElementosCriptografia0405
183 WebStatistics
119 WebHome
101 CriptografiaMestrados0405
 98 CriptografiaAplicada0405
 85 WebChanges
 70 ElementosCriptografia0304
 60 WebIndex
 58 WebSearch
 57 ElementosCriptografiaNews0405
 12 ManuelBernardoBarbosa
Dec 2005 2491 6 2 636 CriptografiaAplicada0506
187 CriptografiaAplicada0405
177 ElementosCriptografia0405
164 WebStatistics
132 CriptografiaMestrados0405
126 WebHome
123 ElementosCriptografiaNews0405
122 ElementosCriptografia0304
 88 WebIndex
 84 WebNotify
 83 WebChanges
  8 ManuelBernardoBarbosa
Nov 2005 1581 7 2 436 CriptografiaAplicada0506
158 ElementosCriptografia0405
115 CriptografiaAplicada0405
115 WebStatistics
 89 WebHome
 87 CriptografiaMestrados0405
 74 WebChanges
 55 ElementosCriptografiaNews0405
 52 WebIndex
 51 ElementosCriptografia0304
 51 WebNotify
  7 ManuelBernardoBarbosa
  2 AlcinoCunha
Oct 2005 2560 22 10 786 CriptografiaAplicada0506
258 ElementosCriptografia0405
217 CriptografiaAplicada0405
214 WebStatistics
128 WebHome
112 CriptografiaMestrados0405
103 WebChanges
 87 ElementosCriptografiaNews0405
 77 ElementosCriptografia0304
 72 WebSearch
 61 IdeiasProjectos
 28 ManuelBernardoBarbosa
  4 AlcinoCunha
Sep 2005 1694 15 1 379 CriptografiaAplicada0506
202 ElementosCriptografia0405
133 CriptografiaAplicada0405
122 WebStatistics
108 CriptografiaMestrados0405
 88 WebHome
 83 ElementosCriptografiaNews0405
 68 ElementosCriptografia0304
 64 WebChanges
 60 WebNotify
 58 WebIndex
 15 ManuelBernardoBarbosa
  1 AlcinoCunha
Aug 2005 1086 0 0 151 WebStatistics
145 WebRss
122 ElementosCriptografia0405
 73 WebHome
 65 ElementosCriptografia0304
 62 CriptografiaMestrados0405
 58 ElementosCriptografiaNews0405
 50 WebIndex
 50 WebNotify
 49 IdeiasProjectos
 47 WebChanges
 
Jul 2005 1258 6 2 369 ElementosCriptografia0405
109 WebStatistics
 92 WebHome
 79 CriptografiaMestrados0405
 72 WebChanges
 70 ElementosCriptografiaTP0405
 65 ElementosCriptografia0304
 59 WebNotify
 53 IdeiasProjectos
 52 ElementosCriptografiaNews0405
 52 WebIndex
  8 AlcinoCunha
Jun 2005 1580 0 0 255 WebStatistics
189 ElementosCriptografia0405
126 WebHome
115 ElementosCriptografia0304
100 WebChanges
 96 CriptografiaMestrados0405
 96 ElementosCriptografiaTP0405
 90 ElementosCriptografiaNews0405
 77 WebIndex
 68 IdeiasProjectos
 68 WebNotify
 
May 2005 1560 2 0 238 WebStatistics
229 ElementosCriptografia0405
138 WebHome
119 CriptografiaMestrados0405
111 ElementosCriptografia0304
 88 ElementosCriptografiaTP0405
 84 ElementosCriptografiaNews0405
 80 IdeiasProjectos
 76 WebChanges
 75 WebNotify
 62 WebIndex
  2 AlcinoCunha
Apr 2005 1482 1 0 233 ElementosCriptografia0405
194 WebStatistics
133 CriptografiaMestrados0405
108 WebHome
103 ElementosCriptografia0304
 87 ElementosCriptografiaTP0405
 81 WebChanges
 81 IdeiasProjectos
 77 ElementosCriptografiaNews0405
 72 WebNotify
 58 WebSearch
  1 AlcinoCunha
Mar 2005 1566 43 7 323 ElementosCriptografia0405
195 WebStatistics
147 CriptografiaMestrados0405
119 WebHome
116 ElementosCriptografia0304
 94 ElementosCriptografiaTP0405
 86 WebChanges
 67 IdeiasProjectos
 64 WebPreferences
 63 WebIndex
 63 WebNotify
 48 AlcinoCunha
  2 ManuelBernardoBarbosa
Feb 2005 658 52 3 184 ElementosCriptografia0405
169 ElementosCriptografia0304
 53 WebHome
 44 CriptografiaMestrados0405
 40 ElementosCriptografiaNews0405
 34 CriptografiaMestrados0304
 28 WebStatistics
 17 WebPreferences
 16 WebChanges
 13 MenuTopics
 11 WebSearch
 55 AlcinoCunha
Dec 2004 0 0 0    
Nov 2004 0 0 0    

Notes:

  • Do not edit this topic, it is updated automatically. (You can also force an update)
  • TWikiDocumentation tells you how to enable the automatic updates of the statistics.
  • Suggestion: You could archive this topic once a year and delete the previous year's statistics from the table.
WebTopicList 24 Nov 2001 - 11:40 - NEW PeterThoeny?

See also the verbose WebIndex.

WorkshopSI 15 Feb 2007 - 08:41 - r5 ManuelBernardoBarbosa

Workshop em Segurança da Informação

Departamento de Informática da Universidade do Minho

23 de Fevereiro de 2007


Apresentação

A Workshop em Segurança de Informação terá lugar no dia 23 de Fevereiro de 2007, no âmbito do Simpósio Doutoral do Departamento de Informática (SDDI), na Universidade do Minho.

O objectivo deste evento é apresentar diferentes vertentes de investigação científica em Segurança da Informação desenvolvidas no nosso país por grupos com impacto internacional.

Sendo este um evento essencialmente de divulgação, o conteúdo das comunicações será moderadamente técnico, tendo um público alvo bastante alargado. A Workshop destina-se não só a investigadores na área, mas também a alunos de licenciatura e pós graduação, que poderão perceber o que significa fazer investigação em Segurança da Informação e, naturalmente, a qualquer membro da comunidade com interesse ou curiosidade por esta temática.

Programa

Horário Comunicação Orador/Moderador Afiliação
9:00 Abertura José Manuel Valença Departamento de Informática, Universidade do Minho
9:20 Provas de Segurança Criptográfica Manuel Bernardo Barbosa Departamento de Informática, Universidade do Minho
9:40 Complexidade Algorítmica e Aplicações Luís Antunes Departamento de Ciência de Computadores, Faculdade de Ciências da Universidade do Porto
10:00 Redes Seguras: Camada Física, Roteamento Seguro, Codificação de Rede João Barros Departamento de Ciência de Computadores, Faculdade de Ciências da Universidade do Porto
10:20 Arquitecturas de Segurança: votação electrónica, autenticação multi-domínio, LANs seguras André Zúquete Departamento de Electrónica, Telecomunicações e Informática, Universidade de Aveiro
10:40 Intervalo    
11:00 Segurança Quântica Paulo Mateus Departamento de Matemática, Instituto Superior Técnico
11:20 Análise de protocolos de segurança Carlos Caleiro Departamento de Matemática, Instituto Superior Técnico
11:40 Cryptographic Sound Implementations of Symbolic Cryptography Pedro Adão Departamento de Matemática, Instituto Superior Técnico
12:00 Painel de Discussão José Bacelar Almeida Departamento de Informática, Universidade do Minho
13:00 Encerramento    

Localização

A Workshop terá lugar no edifício do Departamento de Informática, no Campus de Gualtar da Universidade do Minho, em Braga. Esta página contém informação sobre como chegar até ao DIUM.


-- ManuelBernardoBarbosa - 13 Feb 2007

Found 74 topics.
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM