SlideShare uma empresa Scribd logo
Sessão nº10

                             Códigos Cíclicos




     CCISEL 99                      Teoria Matemática da Comunicação   10 - 1
     Criptografia Computacional




Conceitos básicos da Teoria da Informação


   – Medida de quantidade de informação (entropia).
   – Capacidade de informação dum canal.
   – Codificação:
       • codificação de fonte
       • [cifra]
       • codificação de canal



     CCISEL 99                      Teoria Matemática da Comunicação   10 - 2
     Criptografia Computacional




                                                                                1
Codificação de canal

• Com a codificação de fonte eliminou-se a redundância, pelo
  que idealmente todos os símbolos binários “contêm” um bit de
  informação.
• Mas estes símbolos vão ser transmitidos sobre um canal com
  ruído, logo vai haver perda de informação sempre que existir
  erro num símbolo.
• A solução deste problema consiste em adicionar
  redundância de tal forma que apesar dos erros do
  canal ainda é possível transferir a quantidade de
  informação associada à mensagem; faz-se com a
  codificação de canal.

     CCISEL 99                       Teoria Matemática da Comunicação   10 - 3
     Criptografia Computacional




Como adicionar redundância?

• forma simples:
   – código de repetição
   – código de bit de paridade


• forma mais elaborada:
   – códigos de bloco lineares
       • Ex. Código de Hamming
       • códigos cíclicos
               – Ex. CRC, BCH, ...
   – códigos convolucionais (orientados ao símbolo)


     CCISEL 99                       Teoria Matemática da Comunicação   10 - 4
     Criptografia Computacional




                                                                                 2
Palavras de código como polinómios
• Os códigos cíclicos são códigos de bloco lineares com uma
  estrutura cíclica,o que leva a implementações mais práticas e
  daí a sua grande utilização.
• Palavras de código como polinómios: cada palavra do código
  com n dígitos binários c = cn-1…c2c1c0 sobre GF[2] está
  associada a um polinómio com coeficientes em GF[2], tal que
       cn-1…c2c1c0 ↔ cn-1 xn-1 + …+ c2 x2 + c1 x1 + c0 = p(x)
  onde x é a variável.
• Adição e Multiplicação escalar de polinómios
   – c + d ↔ (cn-1 + dn-1 ) xn-1 + … + (c1 + d1 ) x1 + (c0 + d0 ) =
              p(x) + q(x)
   – αc ↔ (αcn-1) xn-1 + …+ (αc1) x1 + (αc0) = α p(x)

      CCISEL 99                    Teoria Matemática da Comunicação   10 - 5
      Criptografia Computacional




Código linear como sub espaço vectorial

• O conjunto Pn(GF[2]) de todos os polinómios de grau menor
  que n, com coeficientes em GF[2], é um espaço vectorial, com
  as operações de adição e de multiplicação escalar de
  polinómios por elementos de GF[2]. Além disso, se C é um
  código linear com palavras de dimensão n, então a cada
  palavra do código c ∈ C está associado um polinómio
  p(x) ∈ Pn(GF[2]). Mais ainda, esta associação preserva as
  operações de adição e de multiplicação escalar e assim
  podemos pensar em C como um sub espaço de Pn(GF[2]).
  Deste modo, podemos pensar numa palavra do código com
  dimensão n como um polinómio de grau menor que n e um
  código linear C com palavras de dimensão n sobre GF[2]
  como um sub espaço de Pn(GF[2]).

      CCISEL 99                    Teoria Matemática da Comunicação   10 - 6
      Criptografia Computacional




                                                                               3
Rotação ou cyclic shift duma palavra do código
• Seja       p(x) = cn-1 xn-1 + …+ c2 x2 + c1 x1 + c0
• Rotação para a esquerda de p(x) ≡ p’ (x)
         p’(x) = cn-2 xn-1 + …+ c2 x3 + c1 x2 + c0 x1 + cn-1
• Mas
            x p(x) = cn-1 xn + …+ c2 x3 + c1 x2 + c0 x1
  logo
                  x p(x) + p’(x) = cn-1 xn + cn-1 ;
                  p’(x) = x p(x) + cn-1 xn + cn-1 ;
                  p’(x) = x p(x) mod ( xn + 1) ;

• Um código linear C ⊆Pn diz-se cíclico se e só se p(x) ∈ C
  implicar que f(x)p(x) ∈ C para qualquer polinómio f(x) ∈ Pn.

      CCISEL 99                     Teoria Matemática da Comunicação           10 - 7
      Criptografia Computacional




Polinómio gerador do código cíclico
• Um código cíclico (n,k) é definido pelo polinómio gerador
          g(x) = 1 xq + gq-1 xq-1 + …+ g2 x2 + g1 x1 + 1
  onde q = n - k e os coeficientes gi tais que g(x) é factor de xn + 1
• Cada palavra do código X obtém-se
       X(x) = QM (x) g(x),         onde QM (x) ≡ bloco de k bits da mensagem

• Polinómio verificador de paridade h(x)
                   p(x) h(x) = 0 ⇔ p(x) ∈ C
  em que     h(x) g(x) = xn + 1
  ou seja    h(x) g(x) mod ( xn + 1 ) = 0
   – Nota: o polinómio gerador é o polinómio de menor grau de entre todos
     os que pertencem ao código.

      CCISEL 99                     Teoria Matemática da Comunicação           10 - 8
      Criptografia Computacional




                                                                                        4
Código cíclico sistemático
• Definem-se o polinómio dos bits da mensagem M(x) e o
  polinómio dos bits de paridade C(x) como
           M(x) = mk-1 xk-1 + …+ m2 x2 + m1 x1 + m0
                         C(x) = cq-1 xq-1 + …+ c2 x2 + c1 x1 + c0
• Pretende-se que as palavras do código tenham a seguinte forma
                      X(x) = xq M(x) + C(x)
  mas como           X(x) = QM (x) g(x)
  logo         xq M(x) / g(x) = Q (x) + C(x) / g(x)
                                 M
  sendo esta a condição para o código ser sistemático
• os bits de paridade C(x) obtêm-se
                  C(x) = resto [ xq M(x) / g(x) ]

      CCISEL 99                               Teoria Matemática da Comunicação    10 - 9
      Criptografia Computacional




Descodificação do código cíclico sistemático


• Define-se o polinómio dos bits recebidos Y(x) como
             Y(x) = yn-1 xn-1 + …+ y2 x2 + y1 x1 + y0
  onde Y(x) = X(x) + E(x), sendo E(x) o polinómio do erro
• Para verificar a paridade faz-se
                          Y(x) / g(x) = X(x) / g(x) + E(x) / g(x)
                                   Y(x) / g(x) = M(x) + E(x) / g(x)
• os sindroma S(x) obtem-se
                  S(x) = resto [ Y(x) / g(x) ]



      CCISEL 99                              Teoria Matemática da Comunicação    10 - 10
      Criptografia Computacional




                                                                                           5

Mais conteúdo relacionado

Mais procurados

09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completos
Yuri Passos
 
Td 7 matemática ii
Td 7   matemática iiTd 7   matemática ii
Td 7 matemática ii
MatheusMesquitaMelo
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
Inael Rodrigues
 
Exercícios Resolvidos: Máximo e minimo absoluto
Exercícios Resolvidos: Máximo e minimo absolutoExercícios Resolvidos: Máximo e minimo absoluto
Exercícios Resolvidos: Máximo e minimo absoluto
Diego Oliveira
 
Fatoraçao de polinomios
Fatoraçao de polinomiosFatoraçao de polinomios
Fatoraçao de polinomios
Joao Marcos Coelho
 
Exercicios resolvidos
Exercicios resolvidosExercicios resolvidos
Exercicios resolvidos
texa0111
 
Fatoração de polinômios
Fatoração de polinômiosFatoração de polinômios
Fatoração de polinômios
Cintia Frontino
 
Fatoração
FatoraçãoFatoração
Fatoração
Sebastião Herodes
 
Produtos Notáveis 8º ano
Produtos Notáveis 8º anoProdutos Notáveis 8º ano
Produtos Notáveis 8º ano
Lucimeires Cabral Dias
 
Pre (função 1º_e_2º_grau)_pdf
Pre (função 1º_e_2º_grau)_pdfPre (função 1º_e_2º_grau)_pdf
Pre (função 1º_e_2º_grau)_pdf
preuniversitarioitab
 
Kmeans
KmeansKmeans
Kmeans
Erick Farias
 
Função 2o grau
Função 2o grauFunção 2o grau
Função 2o grau
Angelo Moreira Dos Reis
 
P3 calculo i_ (5)
P3 calculo i_ (5)P3 calculo i_ (5)
P3 calculo i_ (5)
Andrei Bastos
 
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
wilkerfilipel
 
Numeros complexos
Numeros complexosNumeros complexos
Numeros complexos
Adriano Souza
 
Criptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoniCriptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoni
drbetoni
 
Lista de exercícios 1 ano
Lista de exercícios 1 anoLista de exercícios 1 ano
Lista de exercícios 1 ano
Angelo Moreira Dos Reis
 
Apostila funcao-de-segundo-grau
Apostila funcao-de-segundo-grauApostila funcao-de-segundo-grau
Apostila funcao-de-segundo-grau
Petronio Paniago
 
Produtos NotáVeis
Produtos NotáVeisProdutos NotáVeis
Produtos NotáVeis
Antonio Carneiro
 
P3 calculo i_ (4)
P3 calculo i_ (4)P3 calculo i_ (4)
P3 calculo i_ (4)
Andrei Bastos
 

Mais procurados (20)

09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completos
 
Td 7 matemática ii
Td 7   matemática iiTd 7   matemática ii
Td 7 matemática ii
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Exercícios Resolvidos: Máximo e minimo absoluto
Exercícios Resolvidos: Máximo e minimo absolutoExercícios Resolvidos: Máximo e minimo absoluto
Exercícios Resolvidos: Máximo e minimo absoluto
 
Fatoraçao de polinomios
Fatoraçao de polinomiosFatoraçao de polinomios
Fatoraçao de polinomios
 
Exercicios resolvidos
Exercicios resolvidosExercicios resolvidos
Exercicios resolvidos
 
Fatoração de polinômios
Fatoração de polinômiosFatoração de polinômios
Fatoração de polinômios
 
Fatoração
FatoraçãoFatoração
Fatoração
 
Produtos Notáveis 8º ano
Produtos Notáveis 8º anoProdutos Notáveis 8º ano
Produtos Notáveis 8º ano
 
Pre (função 1º_e_2º_grau)_pdf
Pre (função 1º_e_2º_grau)_pdfPre (função 1º_e_2º_grau)_pdf
Pre (função 1º_e_2º_grau)_pdf
 
Kmeans
KmeansKmeans
Kmeans
 
Função 2o grau
Função 2o grauFunção 2o grau
Função 2o grau
 
P3 calculo i_ (5)
P3 calculo i_ (5)P3 calculo i_ (5)
P3 calculo i_ (5)
 
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
Logaritmo e função logaritmica (exercícios resolvidos sobre logaritmos, logar...
 
Numeros complexos
Numeros complexosNumeros complexos
Numeros complexos
 
Criptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoniCriptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoni
 
Lista de exercícios 1 ano
Lista de exercícios 1 anoLista de exercícios 1 ano
Lista de exercícios 1 ano
 
Apostila funcao-de-segundo-grau
Apostila funcao-de-segundo-grauApostila funcao-de-segundo-grau
Apostila funcao-de-segundo-grau
 
Produtos NotáVeis
Produtos NotáVeisProdutos NotáVeis
Produtos NotáVeis
 
P3 calculo i_ (4)
P3 calculo i_ (4)P3 calculo i_ (4)
P3 calculo i_ (4)
 

Destaque

jamedez
jamedezjamedez
jamedez
diegayo
 
The 2000-2006 Regional Operational Program expenditure for public services an...
The 2000-2006 Regional Operational Program expenditure for public services an...The 2000-2006 Regional Operational Program expenditure for public services an...
The 2000-2006 Regional Operational Program expenditure for public services an...
Informatica e Pianificazione Urbana e Territoriale
 
Logos
LogosLogos
Deponent verbs vocab_jg
Deponent verbs vocab_jgDeponent verbs vocab_jg
Deponent verbs vocab_jg
DentonLatin
 
Relatorio pisa2000 completo
Relatorio pisa2000 completoRelatorio pisa2000 completo
Relatorio pisa2000 completo
Tina Blanco
 
Tópico 3 cidadania e direitos sociais
Tópico 3 cidadania e direitos sociaisTópico 3 cidadania e direitos sociais
Tópico 3 cidadania e direitos sociais
Atividades Diversas Cláudia
 
Prova 4 ano atividade 4 ano
Prova 4 ano atividade 4 anoProva 4 ano atividade 4 ano
Prova 4 ano atividade 4 ano
keillacr
 
Ii atividade avaliatíva de geo 4º e 5º ano pdf
Ii atividade avaliatíva de geo 4º e 5º ano pdfIi atividade avaliatíva de geo 4º e 5º ano pdf
Ii atividade avaliatíva de geo 4º e 5º ano pdf
André Moraes
 

Destaque (8)

jamedez
jamedezjamedez
jamedez
 
The 2000-2006 Regional Operational Program expenditure for public services an...
The 2000-2006 Regional Operational Program expenditure for public services an...The 2000-2006 Regional Operational Program expenditure for public services an...
The 2000-2006 Regional Operational Program expenditure for public services an...
 
Logos
LogosLogos
Logos
 
Deponent verbs vocab_jg
Deponent verbs vocab_jgDeponent verbs vocab_jg
Deponent verbs vocab_jg
 
Relatorio pisa2000 completo
Relatorio pisa2000 completoRelatorio pisa2000 completo
Relatorio pisa2000 completo
 
Tópico 3 cidadania e direitos sociais
Tópico 3 cidadania e direitos sociaisTópico 3 cidadania e direitos sociais
Tópico 3 cidadania e direitos sociais
 
Prova 4 ano atividade 4 ano
Prova 4 ano atividade 4 anoProva 4 ano atividade 4 ano
Prova 4 ano atividade 4 ano
 
Ii atividade avaliatíva de geo 4º e 5º ano pdf
Ii atividade avaliatíva de geo 4º e 5º ano pdfIi atividade avaliatíva de geo 4º e 5º ano pdf
Ii atividade avaliatíva de geo 4º e 5º ano pdf
 

Semelhante a Sessão 10 Códigos Cíclicos

Sessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canalSessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canal
Pedro De Almeida
 
Cripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaCripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de Segurança
Pedro De Almeida
 
Sessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonteSessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonte
Pedro De Almeida
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocos
Pedro De Almeida
 
Tmc sessao5 redundância e introdução à codificação de fonte
Tmc sessao5 redundância e introdução à codificação de fonteTmc sessao5 redundância e introdução à codificação de fonte
Tmc sessao5 redundância e introdução à codificação de fonte
Richard Johane Manhique
 
Sessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosSessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticos
Pedro De Almeida
 
Sessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasSessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e Entropias
Pedro De Almeida
 
Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...
Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...
Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...
Diego Souza Silva
 
Nota de aula seguranca da informacao - criptografia
Nota de aula   seguranca da informacao - criptografiaNota de aula   seguranca da informacao - criptografia
Nota de aula seguranca da informacao - criptografia
felipetsi
 
Códigos de Detecção.pptx
Códigos de Detecção.pptxCódigos de Detecção.pptx
Códigos de Detecção.pptx
riodurval
 
CfSd 2016 matematica - 2 v1
CfSd 2016   matematica - 2 v1CfSd 2016   matematica - 2 v1
CfSd 2016 matematica - 2 v1
profNICODEMOS
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de Numeração
Carlos Pereira
 
aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1
RobertaArago2
 
Apresentação1 sistemas numéricos
Apresentação1   sistemas numéricosApresentação1   sistemas numéricos
Apresentação1 sistemas numéricos
Larissa Rozza Peluso
 
Sessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaSessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritmética
Pedro De Almeida
 
Polinômios/ teoria e questões concurso
Polinômios/ teoria e questões concursoPolinômios/ teoria e questões concurso
Polinômios/ teoria e questões concurso
Diana D'Ark
 
At becre1
At becre1At becre1
At becre1
rita estrela
 
Polinomios
PolinomiosPolinomios
Polinomios
Antonio Carneiro
 
Polinomios 17122016
Polinomios 17122016Polinomios 17122016
Polinomios 17122016
Antonio Carneiro
 
Eletrônica digital aula 01
Eletrônica digital   aula 01Eletrônica digital   aula 01
Eletrônica digital aula 01
Elídio A. Ferreira
 

Semelhante a Sessão 10 Códigos Cíclicos (20)

Sessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canalSessao 9 Capacidade de canal e Introdução a Codificação de canal
Sessao 9 Capacidade de canal e Introdução a Codificação de canal
 
Cripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaCripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de Segurança
 
Sessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonteSessao 5 Redundância e introdução à codificação de fonte
Sessao 5 Redundância e introdução à codificação de fonte
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocos
 
Tmc sessao5 redundância e introdução à codificação de fonte
Tmc sessao5 redundância e introdução à codificação de fonteTmc sessao5 redundância e introdução à codificação de fonte
Tmc sessao5 redundância e introdução à codificação de fonte
 
Sessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosSessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticos
 
Sessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasSessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e Entropias
 
Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...
Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...
Trabalho de Graduação Interdisciplinas: Teoria da Informação: códigos compres...
 
Nota de aula seguranca da informacao - criptografia
Nota de aula   seguranca da informacao - criptografiaNota de aula   seguranca da informacao - criptografia
Nota de aula seguranca da informacao - criptografia
 
Códigos de Detecção.pptx
Códigos de Detecção.pptxCódigos de Detecção.pptx
Códigos de Detecção.pptx
 
CfSd 2016 matematica - 2 v1
CfSd 2016   matematica - 2 v1CfSd 2016   matematica - 2 v1
CfSd 2016 matematica - 2 v1
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de Numeração
 
aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1aula sobre polinomios matematica basica1
aula sobre polinomios matematica basica1
 
Apresentação1 sistemas numéricos
Apresentação1   sistemas numéricosApresentação1   sistemas numéricos
Apresentação1 sistemas numéricos
 
Sessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritméticaSessao 7 Fontes com memória e codificação aritmética
Sessao 7 Fontes com memória e codificação aritmética
 
Polinômios/ teoria e questões concurso
Polinômios/ teoria e questões concursoPolinômios/ teoria e questões concurso
Polinômios/ teoria e questões concurso
 
At becre1
At becre1At becre1
At becre1
 
Polinomios
PolinomiosPolinomios
Polinomios
 
Polinomios 17122016
Polinomios 17122016Polinomios 17122016
Polinomios 17122016
 
Eletrônica digital aula 01
Eletrônica digital   aula 01Eletrônica digital   aula 01
Eletrônica digital aula 01
 

Mais de Pedro De Almeida

APM Model in .NET - PT-pt
APM Model in .NET - PT-ptAPM Model in .NET - PT-pt
APM Model in .NET - PT-pt
Pedro De Almeida
 
Java memory model primary ref. - faq
Java memory model   primary ref. - faqJava memory model   primary ref. - faq
Java memory model primary ref. - faq
Pedro De Almeida
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
Pedro De Almeida
 
IP Multicast Routing
IP Multicast RoutingIP Multicast Routing
IP Multicast Routing
Pedro De Almeida
 
XSD Incomplete Overview Draft
XSD Incomplete Overview DraftXSD Incomplete Overview Draft
XSD Incomplete Overview Draft
Pedro De Almeida
 
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
Pedro De Almeida
 
Validation of a credit card number
Validation of a credit card numberValidation of a credit card number
Validation of a credit card number
Pedro De Almeida
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
Pedro De Almeida
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
Pedro De Almeida
 
Excepções JAVA
Excepções JAVAExcepções JAVA
Excepções JAVA
Pedro De Almeida
 
Sessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-ZivSessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-Ziv
Pedro De Almeida
 
Basic java tutorial
Basic java tutorialBasic java tutorial
Basic java tutorial
Pedro De Almeida
 
Avaliação económica de projectos
Avaliação económica de projectosAvaliação económica de projectos
Avaliação económica de projectos
Pedro De Almeida
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
Pedro De Almeida
 
Economia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e ProcuraEconomia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e Procura
Pedro De Almeida
 
Economia mercados governo questões
Economia mercados governo questõesEconomia mercados governo questões
Economia mercados governo questões
Pedro De Almeida
 
Economia mercados
Economia mercadosEconomia mercados
Economia mercados
Pedro De Almeida
 
Economia FAQ
Economia FAQEconomia FAQ
Economia FAQ
Pedro De Almeida
 
ABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUA
ABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUAABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUA
ABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUA
Pedro De Almeida
 
Getting good with php 2012
Getting good with php 2012Getting good with php 2012
Getting good with php 2012
Pedro De Almeida
 

Mais de Pedro De Almeida (20)

APM Model in .NET - PT-pt
APM Model in .NET - PT-ptAPM Model in .NET - PT-pt
APM Model in .NET - PT-pt
 
Java memory model primary ref. - faq
Java memory model   primary ref. - faqJava memory model   primary ref. - faq
Java memory model primary ref. - faq
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
IP Multicast Routing
IP Multicast RoutingIP Multicast Routing
IP Multicast Routing
 
XSD Incomplete Overview Draft
XSD Incomplete Overview DraftXSD Incomplete Overview Draft
XSD Incomplete Overview Draft
 
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
 
Validation of a credit card number
Validation of a credit card numberValidation of a credit card number
Validation of a credit card number
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Excepções JAVA
Excepções JAVAExcepções JAVA
Excepções JAVA
 
Sessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-ZivSessão 8 Codificação Lempel-Ziv
Sessão 8 Codificação Lempel-Ziv
 
Basic java tutorial
Basic java tutorialBasic java tutorial
Basic java tutorial
 
Avaliação económica de projectos
Avaliação económica de projectosAvaliação económica de projectos
Avaliação económica de projectos
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Economia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e ProcuraEconomia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e Procura
 
Economia mercados governo questões
Economia mercados governo questõesEconomia mercados governo questões
Economia mercados governo questões
 
Economia mercados
Economia mercadosEconomia mercados
Economia mercados
 
Economia FAQ
Economia FAQEconomia FAQ
Economia FAQ
 
ABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUA
ABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUAABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUA
ABC DOS CIRCUITOS ELÉCTRICOS EM CORRENTE CONTÍNUA
 
Getting good with php 2012
Getting good with php 2012Getting good with php 2012
Getting good with php 2012
 

Sessão 10 Códigos Cíclicos

  • 1. Sessão nº10 Códigos Cíclicos CCISEL 99 Teoria Matemática da Comunicação 10 - 1 Criptografia Computacional Conceitos básicos da Teoria da Informação – Medida de quantidade de informação (entropia). – Capacidade de informação dum canal. – Codificação: • codificação de fonte • [cifra] • codificação de canal CCISEL 99 Teoria Matemática da Comunicação 10 - 2 Criptografia Computacional 1
  • 2. Codificação de canal • Com a codificação de fonte eliminou-se a redundância, pelo que idealmente todos os símbolos binários “contêm” um bit de informação. • Mas estes símbolos vão ser transmitidos sobre um canal com ruído, logo vai haver perda de informação sempre que existir erro num símbolo. • A solução deste problema consiste em adicionar redundância de tal forma que apesar dos erros do canal ainda é possível transferir a quantidade de informação associada à mensagem; faz-se com a codificação de canal. CCISEL 99 Teoria Matemática da Comunicação 10 - 3 Criptografia Computacional Como adicionar redundância? • forma simples: – código de repetição – código de bit de paridade • forma mais elaborada: – códigos de bloco lineares • Ex. Código de Hamming • códigos cíclicos – Ex. CRC, BCH, ... – códigos convolucionais (orientados ao símbolo) CCISEL 99 Teoria Matemática da Comunicação 10 - 4 Criptografia Computacional 2
  • 3. Palavras de código como polinómios • Os códigos cíclicos são códigos de bloco lineares com uma estrutura cíclica,o que leva a implementações mais práticas e daí a sua grande utilização. • Palavras de código como polinómios: cada palavra do código com n dígitos binários c = cn-1…c2c1c0 sobre GF[2] está associada a um polinómio com coeficientes em GF[2], tal que cn-1…c2c1c0 ↔ cn-1 xn-1 + …+ c2 x2 + c1 x1 + c0 = p(x) onde x é a variável. • Adição e Multiplicação escalar de polinómios – c + d ↔ (cn-1 + dn-1 ) xn-1 + … + (c1 + d1 ) x1 + (c0 + d0 ) = p(x) + q(x) – αc ↔ (αcn-1) xn-1 + …+ (αc1) x1 + (αc0) = α p(x) CCISEL 99 Teoria Matemática da Comunicação 10 - 5 Criptografia Computacional Código linear como sub espaço vectorial • O conjunto Pn(GF[2]) de todos os polinómios de grau menor que n, com coeficientes em GF[2], é um espaço vectorial, com as operações de adição e de multiplicação escalar de polinómios por elementos de GF[2]. Além disso, se C é um código linear com palavras de dimensão n, então a cada palavra do código c ∈ C está associado um polinómio p(x) ∈ Pn(GF[2]). Mais ainda, esta associação preserva as operações de adição e de multiplicação escalar e assim podemos pensar em C como um sub espaço de Pn(GF[2]). Deste modo, podemos pensar numa palavra do código com dimensão n como um polinómio de grau menor que n e um código linear C com palavras de dimensão n sobre GF[2] como um sub espaço de Pn(GF[2]). CCISEL 99 Teoria Matemática da Comunicação 10 - 6 Criptografia Computacional 3
  • 4. Rotação ou cyclic shift duma palavra do código • Seja p(x) = cn-1 xn-1 + …+ c2 x2 + c1 x1 + c0 • Rotação para a esquerda de p(x) ≡ p’ (x) p’(x) = cn-2 xn-1 + …+ c2 x3 + c1 x2 + c0 x1 + cn-1 • Mas x p(x) = cn-1 xn + …+ c2 x3 + c1 x2 + c0 x1 logo x p(x) + p’(x) = cn-1 xn + cn-1 ; p’(x) = x p(x) + cn-1 xn + cn-1 ; p’(x) = x p(x) mod ( xn + 1) ; • Um código linear C ⊆Pn diz-se cíclico se e só se p(x) ∈ C implicar que f(x)p(x) ∈ C para qualquer polinómio f(x) ∈ Pn. CCISEL 99 Teoria Matemática da Comunicação 10 - 7 Criptografia Computacional Polinómio gerador do código cíclico • Um código cíclico (n,k) é definido pelo polinómio gerador g(x) = 1 xq + gq-1 xq-1 + …+ g2 x2 + g1 x1 + 1 onde q = n - k e os coeficientes gi tais que g(x) é factor de xn + 1 • Cada palavra do código X obtém-se X(x) = QM (x) g(x), onde QM (x) ≡ bloco de k bits da mensagem • Polinómio verificador de paridade h(x) p(x) h(x) = 0 ⇔ p(x) ∈ C em que h(x) g(x) = xn + 1 ou seja h(x) g(x) mod ( xn + 1 ) = 0 – Nota: o polinómio gerador é o polinómio de menor grau de entre todos os que pertencem ao código. CCISEL 99 Teoria Matemática da Comunicação 10 - 8 Criptografia Computacional 4
  • 5. Código cíclico sistemático • Definem-se o polinómio dos bits da mensagem M(x) e o polinómio dos bits de paridade C(x) como M(x) = mk-1 xk-1 + …+ m2 x2 + m1 x1 + m0 C(x) = cq-1 xq-1 + …+ c2 x2 + c1 x1 + c0 • Pretende-se que as palavras do código tenham a seguinte forma X(x) = xq M(x) + C(x) mas como X(x) = QM (x) g(x) logo xq M(x) / g(x) = Q (x) + C(x) / g(x) M sendo esta a condição para o código ser sistemático • os bits de paridade C(x) obtêm-se C(x) = resto [ xq M(x) / g(x) ] CCISEL 99 Teoria Matemática da Comunicação 10 - 9 Criptografia Computacional Descodificação do código cíclico sistemático • Define-se o polinómio dos bits recebidos Y(x) como Y(x) = yn-1 xn-1 + …+ y2 x2 + y1 x1 + y0 onde Y(x) = X(x) + E(x), sendo E(x) o polinómio do erro • Para verificar a paridade faz-se Y(x) / g(x) = X(x) / g(x) + E(x) / g(x) Y(x) / g(x) = M(x) + E(x) / g(x) • os sindroma S(x) obtem-se S(x) = resto [ Y(x) / g(x) ] CCISEL 99 Teoria Matemática da Comunicação 10 - 10 Criptografia Computacional 5