2 Teoria da Informação

Documentos relacionados
4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada

Teoria da Informação

Faculdade de Engenharia da Computação

TÉCNICAS DE CODIFICAÇÃO DE SINAIS

TE111 Comunicação Digital

Canais discretos sem memória e capacidade do canal

COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO

SM - Sistemas Multimédia CODIFICAÇÃO DE FONTE (parte 2) 4.º / 6.º semestre LEIC (verão 2016/2017)

Compressão Sem Perdas: Codificações Huffman e Aritmética. Adelar da Silva Queiróz Marcelo Teixeira Thiago da Silva Sodré

Codificação de Huffman

Sistemas discretos sem memória e codificação da fonte

EET-49 Comunicações II

Teoria da Informação, Segredo Perfeito e Entropia

universidade federal de pernambuco departamento de estatística

Entropia, Entropia Relativa

Fundamentos de Telecomunicações

SEGUNDO Massey [1] a história da criptologia mostra

INTRODUÇÃO À TEORIA DA INFORMAÇÃO

Probabilidade. Definição de informação

Teoria da Informação

Teoria da Informação ( ) Exame de Recurso ( ) Resolução ( ) ( ) 2log2. log log

Teoria da Informação ( ) Exame de Recurso ( ) Resolução. (1 p), (1 p), p = H(0,4;0,4;0,2) = 1,522

Pré-Processamento de Documentos

Princípios Básicos de Teoria da Informação

CC-226 Introdução à Análise de Padrões

COM29008 LISTA DE EXERCÍCIOS #

6 Inserção Seletiva de Nulos

Nivio Ziviani. Conjunto de transparências elaborado por Nivio Ziviani, Patrícia Correia e Fabiano C. Botelho

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Probabilidade, entropia, surpresa, e quantidade de informação 1

Códigos Corretores de Erros e Cliques de Grafos

L.J. Amoreira UBI. Dezembro 2010

Universidade de Pernambuco Escola Politécnica de Pernambuco

Compressão e Codificação de Dados. Primeiro Exame e Segundo Teste

FACULDADE DE TALENTOS HUMANOS DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROCEDIMENTOS EXPERIMENTAIS DE COMUNICAÇÃO DIGITAL II PARA TELECOMUNICAÇÃO

Variável aleatória. O resultado de um experimento aleatório é designado variável aleatória (X)

Teoria da Computação

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

Prof. Adriano Maranhão COMPILADORES

Tipos de códigos de fonte

Capítulo 1: Alfabetos, cadeias, linguagens

Variáveis Aleatórias Discretas e Distribuição de Probabilidade

canal para sinais contínuos

Compactação de Dados. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Seção 12.5 em diante.

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Cap. 8 - Variáveis Aleatórias

Introdução a Criptologia

Referências. Criptografia e Segurança de Dados. Criptoanálise. Outras Referências. Criptoanálise - Custos. Criptoanálise

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Autômatos

)XQGDPHQWRVGHSUREDELOLGDGHHHVWDWtVWLFD

Estatística Aplicada II. } Revisão: Probabilidade } Propriedades da Média Amostral

Aula 9. Ivan Sendin. 12 de setembro de FACOM - Universidade Federal de Uberlândia SEG-9.

Prof. Lorí Viali, Dr.

Variável Aleatória. O conjunto de valores. Tipos de variáveis. Uma função X que associa a cada

Estudo sobre decodificação iterativa usando códigos de treliça

Módulo 5 Codificação Sistemas Multimédia Ana Tomé José Vieira

5 TORIA ELEMENTAR DA AMOSTRAGEM

Algoritmos de Compressão sem Perdas

Universidade de Pernambuco Escola Politécnica de Pernambuco

Cálculo das Probabilidades e Estatística I

Linguagens Formais e Autômatos P. Blauth Menezes

COMPRESSÃO E CODIFICAÇÃO SEM PERDAS. Mauro Nogueira Mônica Festa Paulo Antiquera

Estruturas de Dados Tabelas de Espalhamento

3. Variáveis aleatórias

Teoria da Computação. Computabilidade e complexidade computacional

MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO SECRETARIA DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO

INE Fundamentos de Matemática Discreta para a Computação

Segundo Exame e Repescagem de Testes. Mestrado em Engenharia Electrotécnica e de Computadores, IST 25 de Janeiro de 2014

PCC104 - Projeto e Análise de Algoritmos

Aula 3- Codificação de Canal. October 18, 2017

Física da Informação Probabilidades

Processamento digital de imagens

Hashing: conceitos. Hashing

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Chamamos de evento qualquer subconjunto do espaço amostral: A é um evento A Ω.

Introdução Definição Conceitos Básicos de Linguagem

Códigos convolucionais

Teoria Ergódica (22 a aula)

Linguagens Formais - Preliminares

Teoria de distorção da taxa

Relatório de Iniciação Científica. Compressão de Dados PRELIMINAR. 30 de agosto de 1996

Problemas de Fundamentos de Telecomunicações 1ª Parte: Codificação de Fonte e Codificação de Canal

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Aula 5 - Produto Vetorial

GBC083 - Segurança da Informação Aula 2 - Sigilo Perfeito. 28 de Março de 2016

Problema de escalonamento

Inferência Estatistica

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Aplicação de Árvores: Código de Huffman

MOQ-12: PROBABILIDADES E PROCESSOS ESTOCÁSTICOS. VA s e Distribuições

ESTATÍSTICA. x(s) W Domínio. Contradomínio

Probabilidade e Estatística

TÉCNICAS DE AMOSTRAGEM

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Aula 10: Decidibilidade

Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Funções - Terceira Lista de Exercícios

Códigos de blocos lineares. Outubro de 2017

Probabilidade IV. Ulisses U. dos Anjos. Departamento de Estatística Universidade Federal da Paraíba. Período

Transcrição:

2 Teoria da Informação Neste capítulo apresentamos alguns conceitos básicos sobre Teoria da Informação que utilizaremos durante este trabalho. 2.1 Alfabeto, texto, letras e caracteres Um alfabeto Σ = (σ 1,..., σ n )é um conjunto finito composto de n símbolos distintos σ i, com i [1,n], denominados letras do alfabeto. Um texto T é uma concatenação de m caracteres t 1...t m,não necessariamente distintos, onde cada caractere é uma letra do alfabeto (t i Σ, com i [1,m]). Por exemplo, o texto SHANNON possui 7 caracteres e 5 letras, com alfabeto Σ = ( S, H, A, N, O ). 2.2 Partição e cadeia Uma cadeia T [i..j] emt,é uma subsequência de elementos contíguos de T. Uma partição de T é uma divisão de T em cadeias não vazias. 2.3 Fonte de Informação Uma fonte de informação discreta Γ é aquela que é capaz de emitir informação por meio de símbolos discretos pertencentes a um conjunto finito chamado alfabeto. Uma fonte emite mensagens na forma de textos: Γ = (T 1,T 2,...). 2.4 Entropia Informação e incerteza descrevem qualquer processo que seleciona um ou mais objetos de um conjunto. Por exemplo, suponha que temos uma fonte que pode emitir três mensagens A, B ou C. A incerteza se caracteriza por não sabermos qual será o próximo símbolo que será produzido. Quando a mensagem

Capítulo 2. Teoria da Informação 15 aparece, essa incerteza desaparece e podemos dizer que ganhamos uma certa informação. Assim, informação é uma diminuição da incerteza. Entropia pode ser pensada como uma medida matemática de informação ou incerteza, calculada como uma função de uma distribuição de probabilidade. Definição 2.1 Dada uma variável aleatória X =(x 1,x 2,..., x n ) ocorrendo de acordo com uma distribuição de probabilidade p(x), aentropia de X, definida por H(X) é igual a H(X) = n i=1 p(x i).log 2 p(x i ) Shannon (30) apresenta o conceito geral da entropia de uma fonte como sendo a quantidade média de informação contida nesta fonte. Para uma fonte Γ=(T 1,T 2,...), a entropia H(Γ), éamédia ponderada de todos os símbolos dessa fonte, com pesos iguais às suas probabilidades de ocorrência H(Γ) = n i=1 p(t i).log 2 p(t i ) O cálculo da entropia do texto é feita a partir das frequências de ocorrência f i das letras no texto H(T )= n i=1 p(t i).log 2 p(t i ), onde p(t i )= 1 f i A parcela -log 2 p(t i ) é chamada de quantidade de informação de t i expressa em bits. Então, a Entropia é a soma da probabilidade de cada letra multiplicada pela sua respectiva quantidade de informação. Podemos entender a entropia como sendo a quantidade de informação média, ou seja, um limite inferior para o comprimento médio dos códigos relativos a cada instância gerada pela fonte. Por exemplo, suponha que T é um texto que contém 3 letras σ 1, σ 2 e σ 3 com probabilidades de ocorrência no texto iguais a 1, 1 e 1, respectivamente. 2 4 4 Entãoonúmero médio de bits para codificar T é igual a H(T )= ( 1.log 2 2 1 + 1.log 2 4 2 1 + 1.log 4 4 2 1 )=1, 5bits/letra 4 Algumas propriedades da entropia Propriedade 1 0 H(Γ) log 2 n Propriedade 2 H(Γ) = 0 p(t i )=1para algum i, 1 i n e p(t j )=0para todo j, j i, 1 j n;

Capítulo 2. Teoria da Informação 16 Propriedade 3 H(Γ) = log 2 n p(t i ) é constante e igual a 1 n para todo i, 1 i n. Em um sistema criptográfico, podemos calcular a entropia dos vários componentes. Podemos pensar na chave como sendo uma variável aleatória K que assume valores de acordo com a distribuição de probabilidade p(k) e, consequentemente, podemos calcular a entropia H(K). Analogamente, podemos calcular as entropias H(T ) eh(c) associadas com as distribuições de probabilidade do texto original e do texto cifrado. Quanto maior a entropia das chaves H(K) e dos textos cifrados H(C), maior éonível de incerteza para o criptoanalista, pois o procedimento de capturar um texto cifrado e, através de técnica de força bruta, tentar encontrar o texto original torna-se inviável. 2.5 Redundância Seja H L a entropia de uma linguagem natural L. Ela mede a informação média por letra na mensagem. Como primeira aproximação para o cálculo de H L, podemos usar um idioma com todas as 26 letras equiprováveis. De acordo com a propriedade 3, a entropia nesse caso será igual a log26 4.76. Para a língua inglesa, podemos usar a distribuição de probabilidades da tabela 2.1 retirada de (12) para um texto típico, e assim teremos H L 4, 17. Uma segunda aproximação para o cálculo de H L é calcular a entropia da distribuição de probabilidade de todos os digramas e depois dividir por 2. De forma geral, considere que Y n é uma variável aleatória que tem em sua distribuição de probabilidades todos os n-gramas do texto, assim como Y corresponde às letras, Y 2 correspondente aos digramas e Y 3 aos trigramas. Definição 2.2 Podemos então definir a entropia de L como H L = lim n H(Y n ) n Para a língua inglesa o valor teórico para H L é 1, 0 H L 1, 5 Definição 2.3 A redundância de um código C é a diferença entre o comprimento médio das palavras do código e a sua entropia R C = n i=1 p(c i).l i H(C)

Capítulo 2. Teoria da Informação 17 Tabela 2.1: Distribuição de probabilidades típica (língua inglesa). Letra Probabilidade (%) A 8,04 B 1,54 C 3,06 D 3,99 E 12,51 F 2,30 G 1,96 H 5,49 I 7,26 J 0,16 K 0,67 L 4,14 M 2,53 N 7,09 O 7,60 P 2,00 Q 0,11 R 6,12 S 6,54 T 9,25 U 2,71 V 0,99 W 1,92 X 0,19 Y 1,73 Z 0,09 Em relação à primeira aproximação, a redundância de L é definida por R L = log 2 Y H L Considerando que o tamanho do alfabeto é Y = 26 e que um valor médio para H(L) 1, 3, temos que a redundância de L é igual a R L =4, 7 1, 3=3, 4 bits por letra. 2.6 Códigos Um código binário para um alfabeto Σ pode ser descrito como uma função que associa uma cadeia c i de bits a cada letra σ i do alfabeto. Cada uma dessas cadeias de bits constitui uma palavra de código. Podemos utilizar a notação c i = C(σ i ).

Capítulo 2. Teoria da Informação 18 Tabela 2.2: Exemplo de códigos binários. Letra Código 1 Código 2 Código 3 Código 4 Código 5 A 00 0 00 0 0 B 01 01 10 10 10 C 10 11 11 110 110 D 11 010 110 111 1110 Por exemplo, a tabela 2.2 mostra alguns códigos binários possíveis para um mesmo alfabeto. O comprimento c de uma palavra de código c é dado pela sua quantidade de bits. Definição 2.4 Um código é dito de tamanho variável quando contém palavras de código de comprimento distinto e de tamanho fixo quando todas as palavras de código têm o mesmo tamanho. Assim, os códigos 2, 3, 4 e 5 da tabela 2.2 são de tamanho variável enquanto que o código 1 é de tamanho fixo. Definição 2.5 Um código é dito distinto se suas palavras de código são todas distintas. Todos os códigos da tabela 2.2 são distintos. Definição 2.6 Uma codificação é dita ambígua se c(t )=c 1...c n = d 1...d m e existe i, 1 i min(m, n), tal que c i d i. Ou seja, existem duas partições diferentes de c(t ) que levam a codificações válidas para um mesmo código. Definição 2.7 Um código é dito unicamente decifrável se ele não admite codificações ambíguas. Portanto, uma cadeia de bits concatenada de acordo com um código unicamente decifrável permite uma decodificação sem ambigüidade. Na tabela 2.2, apenas o código 2 não é unicamente decifrável pois permite diferentes partições, gerando ambigüidade. Por exemplo, considere o texto codificado 010010, onde foi utilizado o código 2. Observe que a partição 010 010 resulta no texto original DD, mas se a partição for 01 0 010, o texto original é BAD.

Capítulo 2. Teoria da Informação 19 2.6.1 Códigos de prefixo Definição 2.8 Um código é dito livre de prefixo ou, simplesmente, de prefixo, quando, considerando todas as palavras do código, nenhuma palavra é prefixo de outra. Como conseqüência dessa definição, temos que todo código distinto de tamanho fixo écódigo livre de prefixo. Na tabela 2.2, os códigos 1, 4e5 são livres de prefixo, ao contrário do código 2, onde a palavra de código 0, associada a A, é prefixo da palavra de código 01 associada a B; e do código 3, onde a palavra de código 11, associada a C, é prefixo da palavra de código 110 associada a D. Todo código de prefixo é unicamente decifrável, portanto, os códigos de prefixo são muito úteis pois, além de permitir que se decodifique uma cadeia de bits sem ambigüidade, a sua partição pode ser feita da esquerda para a direita de tal forma que o bit onde se inicia um novo elemento da partição é determinado sem que seja necessário se olhar para os bits à direita do mesmo. Seja, por exemplo, o seguinte código. C =00, 01, 10, 110, 11100, 11101, 11110, 11111 Pode ser visto que nenhuma palavra de código é prefixo de qualquer outra. Logo C écódigo livre de prefixo. Além disso, por exemplo, a cadeia 011101110001 só pode ser particionada da seguinte forma: 01-110-11100-01. Isto significa que: não há ambigüidade; a partição é feita da esquerda para a direita e o lugar de cada ponto é definido sem que se necessite considerar os bits a sua direita. 2.6.2 Comprimento médio do código Definição 2.9 Dado o conjunto de frequências (f 1,f 2,..., f n ) e o vetor (l 1,l 2,..., l n ), onde f i éafrequência da i-ésima letra, e l i é o tamanho do código para essa letra, definimos o comprimento médio do código como l = n i=1 f i.l i No código de prefixo os tamanhos dos códigos satisfazem uma certa desigualdade conhecida como desigualdade de Kraft-McMillan. Definição 2.10 Desigualdade de Kraft-McMillan

Capítulo 2. Teoria da Informação 20 n i=1 2 l i 1 Esta propriedade também é válida no sentido oposto, ou seja, se os tamanhos dos códigos satisfazem a desigualdade de Kraft-McMillan então um código de prefixo pode ser construído com esses tamanhos de código. Definição 2.11 Um código de prefixo que minimiza o comprimento médio do código é chamado de código de prefixo ótimo. Propriedade 4 Se H é a entropia de uma fonte discreta então o comprimento médio de um código ótimo de prefixo para essa fonte é limitado por H l<h+1 No próximo capítulo mostramos que os códigos de Huffman são códigos de prefixo ótimos. 2.7 Distância de Unicidade Uma característica importante de um sistema criptográfico é a medida do número de caracteres de um texto cifrado necessários para determinar uma solução única para a criptoanálise da mensagem. Shannon definiu distância de unicidade como o valor aproximado do tamanho do criptograma (texto cifrado) a partir do qual somando a entropia do texto em claro associado mais a entropia da chave obtêm-se o número de bits do criptograma. Shannon mostrou também que criptogramas maiores do que esta distância têm uma probabilidade elevada de ter uma única decifragem legível, enquanto que criptogramas significativamente menores do que a distância de unicidade têm, provavelmente, várias decifragens igualmente válidas. Ou seja, a distância de unicidade corresponde à quantidade de criptograma necessário para determinar unicamente uma chave possível. À medida que aumenta o comprimento do criptograma diminui a distância de unicidade. Definição 2.12 A distância de unicidade é definida como uma razão entre a entropia da chave earedundância da linguagem: n 0 H K RL A distância de unicidade é inversamente proporcional à redundância da linguagem e quando esta tende para zero, mesmo uma cifragem trivial pode tornar-se inquebrável.

Capítulo 2. Teoria da Informação 21 Porém, a distância de unicidade é uma medida estatística e, portanto, não fornece resultados determinísticos, mas sim probabilísticos. É apenas uma estimativa da quantidade de criptograma necessária para que haja uma única solução razoável para a criptoanálise. Quando é pequena indica que o algoritmo é pouco seguro, porém não garante segurança mesmo com um valor elevado. Além disso, em muitos algoritmos, o cálculo da distância de unicidade é muito difícil. Entretanto, constatamos que em cifras inquebráveis ou ideais a distância de unicidade é infinita.