SlideShare una empresa de Scribd logo
1 de 9
Sessão nº5

        Redundância e Introdução à
           Codificação de Fonte



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




Redundância num conjunto binário


• Considere um conjunto binário onde a probabilidade
  de um dos textos em claro é p. Quando é que existe
  redundância?
    – Porque temos de usar pelo menos um símbolo para
      representar cada um dos textos então sempre que as
      suas probabilidades determinarem uma entropia
      diferente de 1 existe redundância na representação
      destes textos

    Nota: a entropia é uma medida da quantidade de informação média
      necessária para descrever os textos

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




                                                                             1
Redundância num conjunto quaternário


• Dado o conjunto de 4 textos em claro onde p(a)=0,5
  p(b)=0,25 , p(c)=0,125 e p(d)=0,125 (logo H(P)=1,75)
  quando é que existe redundância?

    – Usando 2 dígitos binários na representação dos
      textos existe redundância porque a quantidade de
      informação necessária em média para os descrever
      é 1,75 bits.




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




Redundância duma linguagem
• Seja L uma linguagem natural. Define-se
  redundância de L como sendo

                   RL = 1- ( H(L) / ( N × log2 |P| ))

   – H(L) representa a entropia do conjunto dos textos de L
     ou a quantidade de informação média contida em cada
     letra dum texto “com significado”.
   – N é o número médio de símbolos usados para representar
     os textos de L.
   – |P| é a dimensão do alfabeto usado na representação dos
     textos de L.
     CCISEL 99                    Teoria Matemática da Comunicação   5-4
     Criptografia Computacional




                                                                           2
Redundância do Inglês
• Seja |P|=26 a dimensão do alfabeto; então um texto
  pode ser representado com 1 símbolo de P (letra),
  logo a quantidade de informação média associada a
  cada letra é 1 × log2 26 ≈ 4,7 [bit] (numa sequência
  aleatória com letras equiprováveis).
• Considerando o valor empírico H(L) ≈1,25 [bit/letra]
  vem
            RL = 1- ( 1,25 / (1 × log2 26))
               ≈ 1 - (1,25/4,7) ≈ 0,75



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




Entropia duma linguagem

• Seja L uma linguagem natural. Define-se entropia
  de L como sendo

                H(L) = lim n→∞ H(Pn) / n [bit/letra]

   – Pn representa uma v.a. que tem como distribuição de
     probabilidades a distribuição que se observa para os
     n-gramas do texto




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




                                                                           3
Entropia do Português e do Inglês (estimativas)

               Ficheiro                H(X)      H(X,Y)/2 H(X,Y,Z)/3
               pt.z26                  3,980       3,678        3,282
               trab.z26                4,081       3,780        3,416
               tese22.z26              4,018       3,724        3,391
               média (PT)              4,026       3,727        3,363
               devices.z26             4,221       3,918        3,562
               history3.z26            4,246       3,966        3,614
               appnote.z26             4,176       3,825        3,382
               bertrand.z26            4,159       3,835        3,510
               média (UK)              4,201       3,886        3,517
               ref. Stinson            4,190       3,900          -
               rand.z26                4,700       4,700        4,696


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




Análise do sistema One Time Pad de Vernam

                                              Dados:
        k1                                        p(a) = 1/4, p(b) = 3/4
                                   1
  a       k2                                   P(k1) = 1/2, p( k2 ) = 1/2
              k2                              Verifica-se que
  b                                2
                   k1                           H(P) ≈ 0,81 [bit/texto]
                                                 H(K) = 1 [bit/chave]
                                                 H(C) = 1 [bit/cripto]
 H(K|C) = H(P) + H(K) - H(C) ?
          H(K|C) ≈ 1 + 0,81 - 1 ≈ 0,81 é menor !!!
 • Mas se maximizarmos H(P) temos que H(K|C)=H(K)
      CCISEL 99                          Teoria Matemática da Comunicação   5-8
      Criptografia Computacional




                                                                                  4
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    5-9
      Criptografia Computacional




Modelo de fonte discreta sem memória

                                   X
                                       xi ∈ { x1, x2,…, xM }

• xi representa um símbolo da fonte
• p(xi) é a probabilidade dum símbolo tal que ∑ p(xi) = 1
                                              xi ∈X
• fonte estacionária logo as probabilidades mantêm-se ao longo
  do tempo
• símbolos independentes (não existe memória)
• símbolos produzidos ao ritmo médio de r símbolos/s
• define-se velocidade de informação da fonte por
        R = r × H(X) onde H(X) é a entropia da fonte

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




                                                                                   5
Modelo genérico da codificação de fonte

                                r × H(X)          codificador rb × H(p0)
                                                    binário
                                       xi                      b1, b2,…, bN
•     rb representa o ritmo médio de dígitos binários produzidos pelo
      codificador
•     H(p0) representa a entropia da fonte binária onde a probabilidade do
      símbolo 0 é p0
•     importante: no processo de codificação não pode haver “ganho” nem
      “perca” de informação
• Define-se comprimento médio N do código gerado como
                                            N=   ∑
                                                 xi ∈X
                                                         p(xi) × n(xi)
      sendo n(xi) o nº de dígitos binários usados para representar o
      símbolo da fonte xi
          CCISEL 99                                Teoria Matemática da Comunicação   5 - 11
          Criptografia Computacional




Teorema da codificação de fonte



• Shannon estabeleceu(1) que

                      H(X) ≤ N ≤ H(X) + ε com ε ≥ 0


       – quando N = H(X) o código diz-se óptimo




(1)   A mathematical theory of communication, 1948

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




                                                                                               6
Classes de códigos

• Códigos singulares
   – ex.: 1, 1, 1, 1

• Códigos não singulares que não têm
  descodificação única
               – ex.: 0, 010, 01, 10

• Códigos não singulares de descodificação única
   – ex.“comma code”: 0, 01, 011, 0111, …

       • Códigos prefixo ou instantâneo
               – ex.código de Huffman: 0, 10, 110, 111

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




Características dos códigos prefixo

• Os comprimentos das palavras do código satisfazem
  a desigualdade de Kraft

                                  ∑2
                                   i
                                          − n ( xi )
                                                       ≤1
   – condição necessária para que o código seja prefixo

   – atendendo a esta constrição demonstra-se que o
     comprimento médio de qualquer código prefixo
     satisfaz
                             H(X) ≤ N ≤ H(X) + 1


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




                                                                                   7
Comprimento médio dos códigos prefixo (demonstração)

• Por definição N = x∑ p(xi) × n(xi)
                       ∈X

• Os códigos prefixo satisfazem ∑ 2 − n ( x ) ≤ 1
                                           i
                                                                       i


                                                                i
• Os valores de n(xi) que minimizam N e que verificam a
  desigualdade de Kraft obtêm-se por
                                           n(xi)* = -log2 p(xi)
    usando n(xi) = n(xi)* vem
          N = ∑ p(xi) × n(xi)* =                        ∑ p(xi) × -log2 p(xi) = H(X)
                   xi ∈X                                xi ∈X

    usando n(xi) ≠ n(xi)*
    N = ∑ p(xi) × n(xi)* ≤ ∑ p(xi) × (-log2 p(xi) +1) = H(X) + 1
        xi ∈X                                   xi ∈X

    logo          H(X) ≤ N ≤ H(X) + 1 c.q.d.

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




Código de dimensão fixa - binário natural
                               xi        p(xi )          -log2 p(xi)       C(xi)
                               a          1/2                1              00
                               b          1/4                2              01
                               c          1/8                3              10
                               d          1/8                3              11

•   Entropia da fonte
                H(X) = ∑ p(xi) × -log2 p(xi) = 1,75 [bit/símbolo]
                              xi ∈X

•   Comprimento médio do código
                                     N = ∑ p(xi) × n(xi) = 2 dígitos
                                        xi ∈X
     – note-se que N = H(X) + 0,25 sendo ε = 0,25

•   Redundância na representação dos símbolos da fonte
                            R = 1- ( 1,75 / (2 × log2 2)) = 0,125

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




                                                                                                8
Código de dimensão variável -“comma code”
                               xi             p(xi )     -log2 p(xi)     C(xi)
                               a               1/2            1             0
                               b               1/4            2            01
                               c               1/8            3           011
                               d               1/8            3          0111

•   Entropia da fonte
              H(X) = ∑ p(xi) × -log2 p(xi) = 1,75 [bit/símbolo]
                              xi ∈X

•   Comprimento médio do código
                              N = ∑ p(xi) × n(xi) = 1,875 dígitos
                                      xi ∈X
     – note-se que N = H(X) + 0,125 sendo ε = 0,125

•   Redundância na representação dos símbolos da fonte
                       R = 1- ( 1,75 / (1,875 × log2 2)) = 0,067

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




                                                                                                   9

Más contenido relacionado

Similar a Sessao 5 Redundância e introdução à codificação de fonte (7)

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
 
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
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos Cíclicos
 
APDS- Apresentaçao.pptx
APDS- Apresentaçao.pptxAPDS- Apresentaçao.pptx
APDS- Apresentaçao.pptx
 
Códigos de hamming
Códigos de hammingCódigos de hamming
Códigos de hamming
 
ITI Slides
ITI SlidesITI Slides
ITI Slides
 
Código de Huffman.pptx
Código de Huffman.pptxCódigo de Huffman.pptx
Código de Huffman.pptx
 

Más de 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
 

Más 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
 
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
 
Economia IC part B
Economia IC part BEconomia IC part B
Economia IC part B
 

Último

No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Último (20)

Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Modelos de Inteligencia Emocional segundo diversos autores
Modelos de Inteligencia Emocional segundo diversos autoresModelos de Inteligencia Emocional segundo diversos autores
Modelos de Inteligencia Emocional segundo diversos autores
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
CATEQUESE primeiro ano . CATEQUESE 1ºano
CATEQUESE primeiro ano . CATEQUESE 1ºanoCATEQUESE primeiro ano . CATEQUESE 1ºano
CATEQUESE primeiro ano . CATEQUESE 1ºano
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 

Sessao 5 Redundância e introdução à codificação de fonte

  • 1. Sessão nº5 Redundância e Introdução à Codificação de Fonte CCISEL 99 Teoria Matemática da Comunicação 5-1 Criptografia Computacional Redundância num conjunto binário • Considere um conjunto binário onde a probabilidade de um dos textos em claro é p. Quando é que existe redundância? – Porque temos de usar pelo menos um símbolo para representar cada um dos textos então sempre que as suas probabilidades determinarem uma entropia diferente de 1 existe redundância na representação destes textos Nota: a entropia é uma medida da quantidade de informação média necessária para descrever os textos CCISEL 99 Teoria Matemática da Comunicação 5-2 Criptografia Computacional 1
  • 2. Redundância num conjunto quaternário • Dado o conjunto de 4 textos em claro onde p(a)=0,5 p(b)=0,25 , p(c)=0,125 e p(d)=0,125 (logo H(P)=1,75) quando é que existe redundância? – Usando 2 dígitos binários na representação dos textos existe redundância porque a quantidade de informação necessária em média para os descrever é 1,75 bits. CCISEL 99 Teoria Matemática da Comunicação 5-3 Criptografia Computacional Redundância duma linguagem • Seja L uma linguagem natural. Define-se redundância de L como sendo RL = 1- ( H(L) / ( N × log2 |P| )) – H(L) representa a entropia do conjunto dos textos de L ou a quantidade de informação média contida em cada letra dum texto “com significado”. – N é o número médio de símbolos usados para representar os textos de L. – |P| é a dimensão do alfabeto usado na representação dos textos de L. CCISEL 99 Teoria Matemática da Comunicação 5-4 Criptografia Computacional 2
  • 3. Redundância do Inglês • Seja |P|=26 a dimensão do alfabeto; então um texto pode ser representado com 1 símbolo de P (letra), logo a quantidade de informação média associada a cada letra é 1 × log2 26 ≈ 4,7 [bit] (numa sequência aleatória com letras equiprováveis). • Considerando o valor empírico H(L) ≈1,25 [bit/letra] vem RL = 1- ( 1,25 / (1 × log2 26)) ≈ 1 - (1,25/4,7) ≈ 0,75 CCISEL 99 Teoria Matemática da Comunicação 5-5 Criptografia Computacional Entropia duma linguagem • Seja L uma linguagem natural. Define-se entropia de L como sendo H(L) = lim n→∞ H(Pn) / n [bit/letra] – Pn representa uma v.a. que tem como distribuição de probabilidades a distribuição que se observa para os n-gramas do texto CCISEL 99 Teoria Matemática da Comunicação 5-6 Criptografia Computacional 3
  • 4. Entropia do Português e do Inglês (estimativas) Ficheiro H(X) H(X,Y)/2 H(X,Y,Z)/3 pt.z26 3,980 3,678 3,282 trab.z26 4,081 3,780 3,416 tese22.z26 4,018 3,724 3,391 média (PT) 4,026 3,727 3,363 devices.z26 4,221 3,918 3,562 history3.z26 4,246 3,966 3,614 appnote.z26 4,176 3,825 3,382 bertrand.z26 4,159 3,835 3,510 média (UK) 4,201 3,886 3,517 ref. Stinson 4,190 3,900 - rand.z26 4,700 4,700 4,696 CCISEL 99 Teoria Matemática da Comunicação 5-7 Criptografia Computacional Análise do sistema One Time Pad de Vernam Dados: k1 p(a) = 1/4, p(b) = 3/4 1 a k2 P(k1) = 1/2, p( k2 ) = 1/2 k2 Verifica-se que b 2 k1 H(P) ≈ 0,81 [bit/texto] H(K) = 1 [bit/chave] H(C) = 1 [bit/cripto] H(K|C) = H(P) + H(K) - H(C) ? H(K|C) ≈ 1 + 0,81 - 1 ≈ 0,81 é menor !!! • Mas se maximizarmos H(P) temos que H(K|C)=H(K) CCISEL 99 Teoria Matemática da Comunicação 5-8 Criptografia Computacional 4
  • 5. 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 5-9 Criptografia Computacional Modelo de fonte discreta sem memória X xi ∈ { x1, x2,…, xM } • xi representa um símbolo da fonte • p(xi) é a probabilidade dum símbolo tal que ∑ p(xi) = 1 xi ∈X • fonte estacionária logo as probabilidades mantêm-se ao longo do tempo • símbolos independentes (não existe memória) • símbolos produzidos ao ritmo médio de r símbolos/s • define-se velocidade de informação da fonte por R = r × H(X) onde H(X) é a entropia da fonte CCISEL 99 Teoria Matemática da Comunicação 5 - 10 Criptografia Computacional 5
  • 6. Modelo genérico da codificação de fonte r × H(X) codificador rb × H(p0) binário xi b1, b2,…, bN • rb representa o ritmo médio de dígitos binários produzidos pelo codificador • H(p0) representa a entropia da fonte binária onde a probabilidade do símbolo 0 é p0 • importante: no processo de codificação não pode haver “ganho” nem “perca” de informação • Define-se comprimento médio N do código gerado como N= ∑ xi ∈X p(xi) × n(xi) sendo n(xi) o nº de dígitos binários usados para representar o símbolo da fonte xi CCISEL 99 Teoria Matemática da Comunicação 5 - 11 Criptografia Computacional Teorema da codificação de fonte • Shannon estabeleceu(1) que H(X) ≤ N ≤ H(X) + ε com ε ≥ 0 – quando N = H(X) o código diz-se óptimo (1) A mathematical theory of communication, 1948 CCISEL 99 Teoria Matemática da Comunicação 5 - 12 Criptografia Computacional 6
  • 7. Classes de códigos • Códigos singulares – ex.: 1, 1, 1, 1 • Códigos não singulares que não têm descodificação única – ex.: 0, 010, 01, 10 • Códigos não singulares de descodificação única – ex.“comma code”: 0, 01, 011, 0111, … • Códigos prefixo ou instantâneo – ex.código de Huffman: 0, 10, 110, 111 CCISEL 99 Teoria Matemática da Comunicação 5 - 13 Criptografia Computacional Características dos códigos prefixo • Os comprimentos das palavras do código satisfazem a desigualdade de Kraft ∑2 i − n ( xi ) ≤1 – condição necessária para que o código seja prefixo – atendendo a esta constrição demonstra-se que o comprimento médio de qualquer código prefixo satisfaz H(X) ≤ N ≤ H(X) + 1 CCISEL 99 Teoria Matemática da Comunicação 5 - 14 Criptografia Computacional 7
  • 8. Comprimento médio dos códigos prefixo (demonstração) • Por definição N = x∑ p(xi) × n(xi) ∈X • Os códigos prefixo satisfazem ∑ 2 − n ( x ) ≤ 1 i i i • Os valores de n(xi) que minimizam N e que verificam a desigualdade de Kraft obtêm-se por n(xi)* = -log2 p(xi) usando n(xi) = n(xi)* vem N = ∑ p(xi) × n(xi)* = ∑ p(xi) × -log2 p(xi) = H(X) xi ∈X xi ∈X usando n(xi) ≠ n(xi)* N = ∑ p(xi) × n(xi)* ≤ ∑ p(xi) × (-log2 p(xi) +1) = H(X) + 1 xi ∈X xi ∈X logo H(X) ≤ N ≤ H(X) + 1 c.q.d. CCISEL 99 Teoria Matemática da Comunicação 5 - 15 Criptografia Computacional Código de dimensão fixa - binário natural xi p(xi ) -log2 p(xi) C(xi) a 1/2 1 00 b 1/4 2 01 c 1/8 3 10 d 1/8 3 11 • Entropia da fonte H(X) = ∑ p(xi) × -log2 p(xi) = 1,75 [bit/símbolo] xi ∈X • Comprimento médio do código N = ∑ p(xi) × n(xi) = 2 dígitos xi ∈X – note-se que N = H(X) + 0,25 sendo ε = 0,25 • Redundância na representação dos símbolos da fonte R = 1- ( 1,75 / (2 × log2 2)) = 0,125 CCISEL 99 Teoria Matemática da Comunicação 5 - 16 Criptografia Computacional 8
  • 9. Código de dimensão variável -“comma code” xi p(xi ) -log2 p(xi) C(xi) a 1/2 1 0 b 1/4 2 01 c 1/8 3 011 d 1/8 3 0111 • Entropia da fonte H(X) = ∑ p(xi) × -log2 p(xi) = 1,75 [bit/símbolo] xi ∈X • Comprimento médio do código N = ∑ p(xi) × n(xi) = 1,875 dígitos xi ∈X – note-se que N = H(X) + 0,125 sendo ε = 0,125 • Redundância na representação dos símbolos da fonte R = 1- ( 1,75 / (1,875 × log2 2)) = 0,067 CCISEL 99 Teoria Matemática da Comunicação 5 - 17 Criptografia Computacional 9