Criptografia e Segurança
|
|
|
- Ana Carolina Miranda Henriques
- 9 Há anos
- Visualizações:
Transcrição
1 Criptografia e Segurança das Comunicações Bases matemáticas: Teoria dos números Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 1/40 Introdução A teoria dos números ( number theory ) aborda as propriedades de operações sobre inteiros. A teoria dos números é fundamental na criptografia, porque os ficheiros planos são transcritos em sequência de números (ordem de cada caracter num texto, sequência de bits num ficheiro gráfico,...). Os algoritmos criptográficos dependem fortemente da aritmética modular. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 2/40
2 Divisores (1) O conjunto dos inteiros {...,-2,-1,0,1,2,...} é representado por Z. [Def] A divisão de a por b (b 1), a/b, é um par (q,r) tal que a = q.b+r (q é designado por quociente, r por resto). Ex: 15=4.3+2 [Def] b é divisível por a, a b, sse o resto de a/b for 0. Ex: 3 9. Nota 1: se a b, então q a e q b. Nota 2: O cálculo da soma e da subtração de dois inteiros de dimensão n é O(log n), o produto e a divisão de dois inteiros é O(log 2 n). Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 3/40 Divisores (2) Teorema: dados os números a,b,c a b a c a (b + c ) a b a bc a b b c a c Exemplos: Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 4/40
3 Divisores (3) [Def] O maior divisor comum de dois números a b, gcd(a,b), é o maior inteiro d tal que d a e d b. Para determinar gcd(a,b), basta factorizar os dois números e tomar os factores comuns com o menor dos expoentes. Ex: gcd(4200, 10780) = gcd( , ) = = 140 Nota1: gcd(a,b)=gcd(b,a). Nota2: factorização de números é uma operação computacionalmente custosa. 1994: a aplicação do QS-Quadratic Sieve distribuída por 1600 computadores conseguiu factorizar número RSA-129 (129 bits) em 8 meses. 2005: factorizado número RSA-560. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 5/40 Divisores (4) Algoritmo de Euclides: determina gcd(a,b) sem cálculo de todos os factores. Figura 2-7, Behrouz Forouzan, Cryptography and Network Security Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 6/40
4 Divisores (5) O algoritmo de Euclides 1 é o algoritmo mais antigo ainda em uso. Algoritmo de Euclides é O(log 3 n)- log n divisões * O(log 2 n) cada divisão por multiplicação russa quociente divisor Exemplo: Determinar gcd(1547,560) resto 1547 = calcular gcd(560,427) 560 = calcular gcd(427,133) 427 = calcular gcd(133,28) 133 = calcular gcd(28,21) 28 = calcular gcd(21,7) 21 = gcd(1547,560)=7 1 Viveu em Alexandria, AC, frequentemente referido como pai dividendo da geometria. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 7/40 Divisores (6) Algoritmo estendido de Euclides: Se d = gcd(a,b), existem dois números u e v tais que d=ua+vb Para calcular u,v basta inverter o algoritmo de Euclides, substituindo o resto por dividendo-quociente*divisor. Ex:7 = *( ) 5*28-1*133 5*(427 3*133) 1*133 5*427 16*133 5*427 16*(560 1*427) 21*427 16*560 21*(1547 2*560) 16*560 21* *560 Nota: a proposição permite facilmente calcular o inverso de um número a módulo M, se M e a forem co-primos. 1 = gcd(a,m) = ua+bm: logo, a -1 mod M = u. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 8/40
5 Divisores (7) O algoritmo Euclides estendido pode ser executado de forma recorrente, calculando o triplo (d,x,y) tal que ax+by=d. d é o maior divisor comun, gcd(a,b) Se d=1, então x=a -1 mod M. Extended-euclidean(a,b) { if (b==0) return (a,1,0); q = a/b; r = a%b; (d,x,y) = Extended-euclidean (b,r); return (d,y,x-qy); } Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 9/40 Divisores (8) Exemplo: determinar mod 1003 a b q r Retorna (1,13,-106) (1,-2,13) (1,1,-2) (1,0,1) (1,1,0) mod Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 10/40
6 Números primos (1) [Def] um número p é primo sse existirem apenas dois divisores (1 p e p p). Ex: são primos 1,2,3,5,7,11,13,17,19, [Def] Dois números a b são primos entre si, sse gcd(a,b)=1. Afirma-se que a é co-primo de b. Ex: 26 e 15 não são primos, mas são primos entre si. Teorema fundamental da aritmética: Qualquer número n pode ser representado por um produto de números primos 1. Ex: 4200 = , 10780= = Denominado por factores Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 11/40 Números primos (2) [Def] A função Euler totient, determina o número de todos os valores co-primos de n. ϕ(n) = #{0 b<n gcd(b,n)=1} Teoremas: ϕ(1) = 1. Se p for primo, ϕ(p) = p-1. Se p for primo, ϕ(p n ) = p n-1 (p-1). Se n=pq (p,q primos), então ϕ(n) = (p-1)(q-1). Proposição: Se a for primo relativo de n, então a ϕ(n) = 1 mod n Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 12/40
7 Números primos (3) [Def] A função π(n) indica o número de primos menores que n. Os primos até 25 são: 2, 3, 5, 7, 11, 13, 17, 19 e 23. Logo, π(3) = 2, π(10) = 4, π(25) = 9. Teorema números primos: π(n) é da ordem de n/(ln n a), com a 1. Nota: há zonas em que os primos estão mais concentrados (ex: 1_000_000_000_061, 1_000_000_000_063) e noutras mais dispersos. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 13/40 Números primos (4) Consequência 1: há muitos números primos por onde escolher! Ex: π(10 20 ) O(10 20 /19) 5.2 *10 18 (na realidade, π(10 20 ) = *10 18 ). Consequência 2: a procura de um primo não é muito pesada. Em média, os números primos estão afastados O(ln n): como os pares e múltiplos de 5 não contam, a procura é 0.4 * ln n. Ex: para procurar um primo à volta de (200 bits), devem ser necessários 0.4(ln )=55 testes. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 14/40
8 Números primos (5) Computação distribuída permite determinar números primos cada vez maiores. O maior número primo, identificado em Agosto 2008, é 2 43,112,609-1 com 12_978_189 dígitos decimais. Nota1: Os primos Mersenne possuem a forma 2 n -1, sendo conhecidos 49 (31= é primo, mas 2047 = não é primo). Nota2: EFF premiou a descoberta com $ por ser o primeiro primo com mais de 10 milhões de dígitos. Quem descobrir o primeiro primo com mais de 100 milhões de dígitos receberá $ Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 15/40 Primalidade (1) Como escolher um número primo? A. Por aproximação Hardly e Wright, procurar nos valores próximos prime(n) n(log n+log log n 1) Ex: prime(10 6 ) : na realidade é Impraticável: para n elevado a distância entre dois primos é O(log n) e determinar se número é primo custa! Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 16/40
9 Primalidade (2) B. Peneira de Eratosthenes ( sieve ) Descoberto em 250 AC. Método determinista, mas pouco eficiente para números de grande dimensão. 1. Escrever todos os números de 2 a n Fazer d 2 (primeiro primo). 3. Se n não for divisível por d, eliminar da lista todos os múltiplos de d. 4. Se a lista não estiver vazia, d primo seguinte e regressar a 3. Se a lista estiver vazia, n é primo. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 17/40 Primalidade (3) [Exemplo] Seja n=17 Lista: d 2: 17 não é divisível por 2! Eliminados múltiplos de 2 ( ) Lista: d 3: 17 não é divisível por 3! Eliminados múltiplos de 3 (3 9) Lista: d 5: 17 não é divisível por 5! Eliminados múltiplos de 5 (5 15) Lista: d 7: 17 não é divisível por 7! Eliminados múltiplos de 7 (7) Prof RG Crespo... Criptografia e Segurança das Comunicações Teoria números : 18/40
10 Primalidade (4) C. Gerar um número aleatório n ímpar, n 5 e verificar se é primo com um teste de primalidade (ex, Rabin-Miller). Se não for, procurar à volta de lg N. Se não conseguir encontrar, gerar novo número aleatório e procurar nessa zona. Nota: esta é a estratégia usada na cifra RSA para gerar números aleatórios de grande dimensão. Aviso: Alguns primos p permitem a fácil factorização de (p-1)! Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 19/40 Primalidade (5) Teste de Rabin-Miller 1. Calcular k,m (ímpar) tal que n-1= m.2 k. Nota: O cálculo é rápido: deslocar para a direita enquanto a divisão for par, k é o número de deslocamentos, m é a divisão ímpar. 2. Seleccionar base, tal que 1 b < n. 3. a b m mod n i. Se a=n-1, então n pode ser primo. ii. Se algum dos valores a 2 mod n, a 4 mod n,, a 2^(k-1) mod n for igual n-1, então n pode ser primo. iii. Se falhar 3.1 e 3.2, então n não é primo. Para números não primos, ¾ dos valores de a acabam no ponto 3.3 Se o número for candidato a primo, efectuar o teste normal Nota: pode revelar que, afinal, não é primo! Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 20/40
11 Primalidade (6) Exemplo: Vejamos se n=29 é primo = 14.2 = Seleccionar base b=10 3. a 10 7 mod a (10 7 ) 2 mod Pode ser primo (na realidade é!) Exemplo: Vejamos se n=221 é primo = = Seleccionar base b=5 3. a 5 55 mod a (5 55 ) 2 mod (nota: como k=2, não existem mais testes) 3. Conclui-se que 221 não é primo (nota: factorizando, tem-se 221=13*17) Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 21/40 Primalidade (7) Teorema pequeno de Fermat ( Fermat Little Theorem ): Se p é co-primo de a, então a p-1 =1 mod p. Ex: 7 e 3 são co-primos, pelo que 7 2 =1 mod 3. Igualmente, 3 90 =1 mod 91 [nota: 91 não é primo] Os números (a,p) são designados pseudo-primos. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 22/40
12 Aritmética modular (1) [Def] a módulo M, a mod M, é o resto de a/m. Nota 1: r é por vezes designado resíduo. Nota 2: sem nos aperceber, o relógio é um sistema modular (M igual a 12 horas) [Def] Z n, é o conjunto de todos os resíduos módulo n. Exemplos: Z 2 ={0,1}, Z 6 ={0,1,2,3,4,5} [Def] Dois números a,b são congruentes, a b mod N, sse tiverem o mesmo resíduo. Exemplos: 4 12 mod 8, 3-5 mod 8 Operador congruência Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 23/40 Aritmética modular (2) Os operadores aritméticos usuais em Z: +, -, * são aplicados em Z n. 1. [Opcional] Calcula-se o resíduo a cada operando para simplificar. 2. Calcula-se a operação em Z. 3. Determina-se o resíduo. Exemplos: (14+7) mod 15 = 21 mod 15 = 6 (7*11) mod 20 = 77 mod 20 = 17 Figura 2-13, Behrouz Forouzan, Cryptography and Network Security Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 24/40
13 Eficiência de operações (1) 1. Produto: pretende-se avaliar x.y, com valores na ordem i. Cálculo pelo método matricial (proposto pela primeira vez por Fibonnaci) é muito ineficiente. ii. Multiplicação russa (ou camponesa) com shift e somas. 1. Enquanto y 1 executar e colocar lado a ladox=2.x e y=y/2 2. Cortar todos os x i para y i pares 3. Somar todos os x i para y i ímpares Complexidade: O(log 2 n)- log n somas * O(log n) cada soma Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 25/40 Eficiência de operações (2) Exemplo: Cálculo de 52 * * multiplicação matricial russa Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 26/40
14 Eficiência de operações (3) 2. Produto modular: pretende-se avaliar a*b mod N i. Cálculo ingénuo 1. Determinar primeiro a*b 2. Calcular depois a*b mod N Este cálculo pode ser muito ineficiente por gera valores de dimensão muito elevada. A redução mod N é uma operação demorada. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 27/40 Eficiência de operações (4) ii. Multiplicação Montgomery Na multiplicação modular, a redução constitui a parte mais demorada. A multiplicação Montgomery permite que a redução seja feita com valores de dimensão reduzida. Considere-se o produto ab=c mod N, com N=m k -1. Neste caso, c = c 1 m k + c 0 Rescrevendo, c = c 1 (m k 1) + c 1 + c 0 = c 1 + c 0 mod N. Ex: pretende-se calcular 3089 mod 99 sem efectuar reduções 3089 = 30* = 30*(100-1) = 30* = 30*99 + 1* = 30*99 + 1*(100-1)+1+19 = 31* Logo, 3089 mod 99 = (31* ) mod 99 = 20 1 P. L. Montgomery; Modular multiplication without trial division. Mathematics of Computation, 44(170): , Apr Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 28/40
15 Eficiência de operações (5) Passos na multiplicação Montgomery a*b mod N: 1. Converter multiplicando e multiplicador para a forma Montgomery i. Seleccionar R=2 k, com R>N e gcd(r,n)=1. ii. Calcular R' e N' tal que RR' - NN' =1. iii. Identificar as formas Montgomey de a,b: a' = ar mod N, b' = br mod N 2. Calcular o produto a' * b' = (ar mod N) * (br mod N) = abr 2 = X 3. Converter resultado m = ((x mod R) * N') mod R x = (X+mR)/R if x N then x=x-n return x Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 29/40 Eficiência de operações (6) Exemplo: calcular 61*5 mod 79 Selecciona-se R=10 2 (nota: nos computadores usa-se base binária) a' = 61*100 mod 79 = 17, b' = 5*100 mod 79 = 26 Algoritmo Euclides invertido dá =1. Logo, R' = 64 e N' = 81 a' * b' = 17*26 = 442 m = (442 mod 10 2 * 64) mod 10 2 =(42*64) mod 10 2 =3402 mod 10 2 =2 x = ( *79)/10 2 mod 10 2 = 600/10 2 mod 10 2 = 6 mod 10 2 =6 61*5 mod 79 = 6 Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 30/40
16 Eficiência de operações (7) iii. Multiplicação CRT Teorema Chinês dos Restos (CRT-Chinese Remainder Theorem): Seja N=n 1 *n 2 * *n r com n i,n j (i j) co-primos. A N Qualquer A [0,(N-1)] é representado por (a 1 =A mod n 1, a 2 =A mod n 2,, a r =A mod n r ) A calculado, a partir de (a 1, a 2,, a r ), pela seguinte equação: r = i= 1 i N = n ( a N N i i i 1 i mod n ) mod N = n n Ln n 1Ln 1 2 i 1 i i+ r Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 31/40 Eficiência de operações (8) Exemplo: Sun-Tsu inicia batalha com 208 soldados e no final pretende determinar rapidamente os sobreviventes. Verifica que os sobreviventes agrupados em 3, sobram 2 (a 1 = A mod 3 2) agrupados em 5, sobram 3 (a 2 = A mod 5 3) agrupados em 7, sobram 2 (a 2 = A mod 7 2) a) N 1 =5.7=35; N 2 =3.7=21; N 3 =3.5=15 b)35-1 mod 3 = 2, 21-1 mod 5 = 1, 15-1 mod 7 = 1 c) A= (mod 3.5.7) = 23 mod 105. Sun-Tsu ou tem 23 ou tem 128 soldados. Nota: fácil verificar sem ter de agrupar em grupos de 11! Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 32/40
17 Eficiência de operações (9) Por ser o único com acesso a p,q o proprietário pode calcular mais rapidamente M=C d mod N, 1. Na construção da cifra RSA tem-se N=pq. Calcular C p = Cmod p = C mod q d p M = d mod( p 1) p = C p d p mod p C q d q M = d mod( q 1) q = C 2. Decifrar mensagem a partir dos resíduos M = ( M R R p q = ( p = ( q p 1 1 R q + M q mod q) p = R ) mod N p p mod p) q = q q 1 p 1 mod N mod N q d q mod q Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 33/40 Eficiência de operações (10) 3. Exponenciação modular: Pretende-se avaliar x c mod N Em cada multiplicação por x calcula-se logo o módulo para reduzir os valores intermédios. Exponenciação pode ser efectuada da esquerda para a direita (solução adoptada aqui), ou da direita para a esquerda. 1. Representar c = b k-1 b 0 2. Executar algoritmo z = 1; for ( i=k-1; i>=0; i-- ) { if ( b i =1 ) mult=x else mult=1; z = z 2.mult mod N;} Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 34/40
18 Eficiência de operações (11) Ex: Cálculo de mod 77 (37 = ) 1. z = 1 2. i = 5; b 5 =1 mult= 30; z = 1 2 * 30 mod i = 4; b 4 =0 mult= 1; z = 30 2 mod i = 3; b 3 =0 mult= 1; z = 53 2 mod i = 2; b 2 =1 mult= 30; z = 37 2 * 30 mod i = 1; b 1 =0 mult= 1; z = 29 2 mod i = 0; b 0 =1 mult= 30; z = 71 2 * 30 mod 77 2 Complexidade O(log 3 n) Nota: Ataque DPA ( Differential Power Analysis ) é baseado na análise das variações no consumo de energia durante o cálculo de mult*z dentro do ciclo for. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 35/40 Eficiência de operações (12) 1 x c mod N em hardware z x Lógica controlo c mult mod N Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 36/40
19 Números aleatórios (1) [Def] O período de uma sequência é valor mínimo de τ, tal que s(i+τ)=s(i), para todos 0 i<n-τ Ex: a sequência , de comprimento p=8, possui período 3. [Def] Um bloco ( block ) é uma sequência contínua de 1 s e um salto ( gap ) é uma sequência contínua de 0 s. Uma corrida ( run ) é um bloco ou um salto. Existem diversos métodos para determinar o grau de confinação de uma sequência binária pseudo-aleatória Princípio de Golomb Testes estatísticos (frequência, poker, corridas, ) Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 37/40 Números aleatórios (2) Testes estatísticos Teste série: as frequências das transições 00, 01, 10, 11 são iguais. Teste poker : dividir sequência por subsequências com mesmo número de bits (m 3)-denominados poker hands - e comparar a distribuição dos valores com o teste χ 2. Princípios de Golomb: primeira tentativa para identificar as condições necessárias, mas não suficientes! 1. A diferença entre o número de 0 s e 1 s deve ser tão pequena quanto possível. Nota: na sequência , diferença entre 0 s e 1 s é nula, mas não é aleatória (tal será detectado pelo terceiro princípio de Golomb). Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 38/40
20 Números aleatórios (3) 2. Em todas as subsequências, metade das corridas são blocos e a outra metade são saltos. A frequência de corridas de comprimento i é, pelo menos, (½) i se o número de corridas for superior a 1; metade das corridas tem comprimento 1, um quarto das corridas tem comprimento 2, Ex: seja À primeira vista a sequência parece ser aleatória, mas não obedece aos critérios de Golomb. Comprimento Blocos Saltos Corridas (46%) (30%) (17%) (6%) Falha! (1%) Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 39/40 Números aleatórios (3) 3. Autocorrelação é de 2 valores N. C( t) = C( t) = 1 N { N, se t = 0 K, se1 t N -1 N 1 N i=0= 0 (2s i 1)(2s i+ t 1), 0 t N 1 Ex: , gerada pelo LFSR de polinómio conectivo x 4 +x 3 +1, satisfaz os critérios de Golomb. 1. Número de 0 s é 7, número de 1 s é Existem 8 corridas: 4 corridas de comprimento 1 (2 saltos, 2 blocos). 2 corridas de comprimento 2 (1 salto, 1 bloco). 1 salto de comprimento 3, 1 bloco de comprimento C(0)=1, C(t)=-1/15 for 1 t 14 Nota: existem bons testes estatísticos, como o Diehard. Prof RG Crespo Criptografia e Segurança das Comunicações Teoria números : 40/40
Software de Telecomunicações. Teoria dos números
Software de Telecomunicações Teoria dos números Prof RG Crespo Software de Telecomunicações Teoria números : 1/37 Números primos (1) O conjunto dos inteiros {...,-2,-1,0,1,2,...} é representado por Z.
CIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 21 Number theory Primes and factors Modular arithmetic Solving equations Other results
Universidade do Minho
Teórica n o 1 2007-02-22 Apresentação do docente e da disciplina. Algumas revisões de teoria de números elementar. O algoritmo de Euclides estendido; demonstração do teorema que fundamenta o algoritmo.
11.1) Noções Elementares 11.2) MDCs e algoritmos de Euclides 11.3) Aritmética modular 11.4) Aplics da MD: O sistema criptográfico RSA
Teoria de Números 11.1) Noções Elementares 11.2) MDCs e algoritmos de Euclides 11.3) Aritmética modular 11.4) Aplics da MD: O sistema criptográfico RSA Material extraído dos livros-textos (Cormen( Cormen)
1 Potências e raízes em Aritmética Modular. Seja p primo e a um inteiro primo com p; a aplicação
1 Potências e raízes em Aritmética Modular 1.1 Os Teoremas de Fermat e Euler Seja p primo e a um inteiro primo com p; a aplicação Z /p Z /p, x ax definida pela multiplicação por a (ou mais precisamente
Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 42
1 / 42 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 42 1 Combinatória 2 3 Grafos 3 / 42 Capítulo 2 4 / 42 Axiomática dos Inteiros Sejam a e b inteiros. Designaremos
, com k 1, p 1, p 2,..., p k números primos e α i, β i 0 inteiros, as factorizações de dois números inteiros a, b maiores do que 1.
Como seria de esperar, o Teorema Fundamental da Aritmética tem imensas consequências importantes. Por exemplo, dadas factorizações em potências primas de dois inteiros, é imediato reconhecer se um deles
Números Inteiros Algoritmo da Divisão e suas Aplicações
Números Inteiros Algoritmo da Divisão e suas Aplicações Diferentemente dos números reais (R), o conjunto dos inteiros (Z) não é fechado para a divisão. Esse não-fechamento faz com que a divisão entre inteiros
OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC
OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC Prof. Charles Christian Miers e-mail: [email protected] Breve Histórico Primeiro algoritmo de chave pública foi desenvolvido
TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC
TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC Prof. M.Sc. Charles Christian Miers e-mail: [email protected] Roteiro Criptografia Moderna: Diferenças criptografia
D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR 1
Matemática Discreta October 12, 2018 1 1 Criptografia Criptografia de chave secreta: quando remetente e destinatário concordam um código. Exemplo: Código de Caesar O que está escríto? D OLJHLUD UDSRVD
Complexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger [email protected] [email protected] Prof. Cristiano Damiani Vasconcellos [email protected] Um pouco de Teoria dos Números
Existem infinitos números de Carmichael, mas não provaremos isso neste curso.
6 Pseudoprimos 6.1 O Pequeno Teorema de Fermat nos diz que, se n é primo, então temos b n b (mod n) para todo b Z. Portanto, a contrapositiva diz que se temos b n b (mod n) ( ) para algum b Z, então n
Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019
Criptografia Criptografia de Chave Pública Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019 Parte I Criptografia de chave pública Pressupostos Computacionais Nas aulas anteriores vimos diversas primitivas
Matemática para Ciência de Computadores
Matemática para Ciência de Computadores 1 o Ano - LCC & ERSI Luís Antunes [email protected] DCC-FCUP Complexidade 2002/03 1 Inteiros e divisão Definição: Se a e b são inteiros com a 0, dizemos que a divide
1 Congruências e aritmética modular
1 Congruências e aritmética modular Vamos considerar alguns exemplos de problemas sobre números inteiros como motivação para o que se segue. 1. O que podemos dizer sobre a imagem da função f : Z Z, f(x)
AKS: um algoritmo para identificar números primos
AKS: um algoritmo para identificar números primos IM-UFBA 08 de novembro de 2016 Índice 1 Preliminares 2 3 4 5 Introdução Números primos Comprovar a primalidade de um número natural significa comprovar
MATEMÁTICA MÓDULO 8 DIVISIBILIDADE E CONGRUÊNCIA. Professor Matheus Secco
MATEMÁTICA Professor Matheus Secco MÓDULO 8 DIVISIBILIDADE E CONGRUÊNCIA 1. DIVISIBILIDADE Definição: Sejam a, b inteiros com a 0. Diz-se que a divide b (denota-se por a b) se existe c inteiro tal que
Criptografia e Segurança de Rede Capítulo 4. Quarta Edição por William Stallings
Criptografia e Segurança de Rede Capítulo 4 Quarta Edição por William Stallings Capítulo 4 Corpos Finitos Na manhã seguinte, ao nascer o dia, Star entrou em casa, aparentemente ávida por uma lição. Eu
Teste à Primalidade. (Método de Monte Carlo) Geração de Números Primos (Grandes)
Teste à Primalidade (Método de Monte Carlo) Margarida Mamede, DI FCT/UNL APD, 2010/11, Teste à Primalidade 1 Geração de Números Primos (Grandes) Como se pode obter um número primo grande? Gerando números
MATEMÁTICA DISCRETA ARITMÉTICA RACIONAL (6/6) Carlos Luz. EST Setúbal / IPS Maio 2012
MATEMÁTICA DISCRETA ARITMÉTICA RACIONAL (6/6) Carlos Luz EST Setúbal / IPS 21 27 Maio 2012 Carlos Luz (EST Setúbal / IPS) Aritmética Racional (6/6) 21 27 Maio 2012 1 / 15 Congruências Lineares De nição
Já sabemos como determinar todas as soluções de uma equação diofantina linear, caso esta seja resolúvel. Para conguências temos:
Seguidamente vamos determinar valores de b (em termos de a e n) para os quais a congruência ax b (mod n) tem solução. Se a = 0 esta congruência tem solução x se e só se n b, e, neste caso, qualquer x Z
Números Primos: onde estão? Por que encontrá-los? Ana Cristina Vieira MAT/UFMG. Primos
1 Números Primos: onde estão? Por que encontrá-los? Ana Cristina Vieira MAT/UFMG Primos Definição: Livro VII dos Elementos de Euclides de Alexandria (360 a.c - 295 a.c). Dado qualquer número inteiro n,
1. O que podemos dizer sobre a imagem da função. f : Z Z, f(x) = x 2 + x + 1?
1 Congruências e aritmética modular Vamos considerar alguns exemplos de problemas sobre números inteiros como motivação para o que se segue. 1. O que podemos dizer sobre a imagem da função f : Z Z, f(x)
(Ciência de Computadores) 2005/ Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação
Álgebra (Ciência de Computadores) 2005/2006 Números inteiros 1. Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação (a) {inteiros positivos impares}; (b) {inteiros negativos pares};
MA14 - Aritmética Lista 1. Unidades 1 e 2
MA14 - Aritmética Lista 1 Unidades 1 e 2 Abramo Hefez PROFMAT - SBM 05 a 11 de agosto 2013 Unidade 1 1. Mostre, por indução matemática, que, para todo n N {0}, a) 8 3 2n + 7 b) 9 10 n + 3.4 n+2 + 5 2.
Álgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos
Álgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Teorema da fatoração única
Matemática Discreta. Introdução à Teoria de Números - Exercícios 1 o ano /2011
Lic. em Ciências da Computação Matemática Discreta Introdução à Teoria de Números - Exercícios 1 o ano - 2010/2011 1. Determine o quociente e o resto na divisão de: (a) 310156 por 197; (b) 32 por 45; (c)
Tópicos de Matemática Elementar
Tópicos de Matemática Elementar 2 a série de exercícios 2004/05. A seguinte prova por indução parece correcta, mas para n = 6 o lado esquerdo é igual a 2 + 6 + 2 + 20 + 30 = 5 6, enquanto o direito é igual
é uma proposição verdadeira. tal que: 2 n N k, Φ(n) = Φ(n + 1) é uma proposição verdadeira. com n N k, tal que:
Matemática Discreta 2008/09 Vítor Hugo Fernandes Departamento de Matemática FCT/UNL Axioma (Princípio da Boa Ordenação dos Números Naturais) O conjunto parcialmente (totalmente) ordenado (N, ), em que
Fundamentos: Algoritmos, Inteiros e Matrizes. Inteiros e. Primos e. Divisor Comum. Inteiros e. Algoritmos. Teoria dos Centro de Informática UFPE
, Fundamentos:, Centro de Informática UFPE , 1 2 3 4 , Sejam a e b inteiros, com a 0. a divide b se existe um inteiro c, tal que b = ac. a divide b a b Por exemplo, a = 3, b = 12 , Sejam a e b inteiros,
Inteiros. Inteiros. Congruência. Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006.
Inteiros Inteiros. Congruência. Referência: Capítulo: 4 Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006 1 Números reais A relação binária em R é uma ordem parcial
NÚMEROS ESPECIAIS. Luciana Santos da Silva Martino. lulismartino.wordpress.com PROFMAT - Colégio Pedro II
Sumário NÚMEROS ESPECIAIS Luciana Santos da Silva Martino lulismartino.wordpress.com [email protected] PROFMAT - Colégio Pedro II 27 de outubro de 2017 Sumário 1 Primos de Fermat, de Mersenne e em
Números Primos e Criptografia RSA
Números Primos e Criptografia RSA Jean Carlo Baena Vicente Matemática - UFPR Orientador: Carlos Henrique dos Santos 6 de outubro de 2013 Sumário Criptografia RSA Por que o RSA funciona? Fatoração Primalidade
Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária
Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também
Arquitetura de Computadores I
Arquitetura de Computadores I Aritmética Computacional - Inteiros - Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Sumário A unidade lógico-aritmética Representação de números inteiros
Criptografia com Maple
Criptografia com Maple - Verão/2005 Fábio Borges & Renato Portugal Criptografia com Maple p.1/32 Simétrica versus Assimétrica Simétrica Criptografia com Maple p.2/32 Simétrica versus Assimétrica Simétrica
Elementos de Matemática Finita ( ) Exercícios resolvidos
Elementos de Matemática Finita (2016-2017) Exercícios resolvidos Ficha 3-2. Em que classes de congruência mod 8 estão os quadrados perfeitos? 4926834923 poderá ser a soma de dois quadrados perfeitos? Resolução:
Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 8 ano E.F.
Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 8 ano E.F. Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 1 Exercícios Introdutórios Exercício 1.
REVISÃO DOS CONTEÚDOS
REVISÃO DOS CONTEÚDOS As quatro operações fundamentais As operações fundamentais da matemática são quatro: Adição (+), Subtração (-), Multiplicação (* ou x ou.) e Divisão (: ou / ou ). Em linguagem comum,
a = bq + r e 0 r < b.
1 Aritmética dos Inteiros 1.1 Lema da Divisão e o Algoritmo de Euclides Recorde-se que a, o módulo ou valor absoluto de a, designa a se a N a = a se a / N Dados a, b Z denotamos por a b : a divide b ou
Equações Diofantinas + = polinómios conhecidos polinómios desconhecidos
23 Considere-se a equação Equações Diofantinas polinómios conhecidos polinómios desconhecidos Há soluções? Quantas soluções há para uma dada equação? Em geral, a equação pode ser definida num anel (exs.
Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido
Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Introdução Objetivo: estudar o método
Funções - Primeira Lista de Exercícios
Funções - Primeira Lista de Exercícios Vers~ao de 0/03/00 Recomendações Não é necessário o uso de teoremas ou resultados complicados nas resoluções. Basta que você tente desenvolver suas idéias. Faltando
NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ
NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ GABARITO LISTA 6: ALGORITMO CHINÊS DO RESTO 1. Ver gabarito das questões do livro. 2. Aplique o Algoritmo de Fermat para encontrar 999367 = 911 1097. Como 911 e 1097
Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular
Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Pedro Carlos da Silva Lara Fábio Borges de Oliveira Renato Portugal Laboratório Nacional de Computação Científica Índice 1 Introdução
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Representação de Números de Ponto Flutuante Aritmética
MAT Álgebra I para Licenciatura 2 a Lista de exercícios
MAT0120 - Álgebra I para Licenciatura 2 a Lista de exercícios 1. Quais são os números de cifras iguais que são divisíveis por 3? Idem, por 9? Idem por 11? 2. Determinar mmc (56, 72) e mmc (119, 272). 3.
MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação
Representação de dados e sistemas de numeração MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação Todo o material
Arquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Aritmética Computacional Prof. Sílvio Fernandes
Sistemas de Numeração
Infra-Estrutura de Hardware Sistemas de Numeração Conversão entre bases Bit e byte ECC Prof. Edilberto Silva www.edilms.eti.br [email protected] Sumário Conversão de bases Aritmética binária e hexadecimal
XIX Semana Olímpica de Matemática. Nível 3. Polinômios Ciclotômicos e Congruência Módulo p. Samuel Feitosa
XIX Semana Olímpica de Matemática Nível 3 Polinômios Ciclotômicos e Congruência Módulo p Samuel Feitosa O projeto da XIX Semana Olímpica de Matemática foi patrocinado por: Semana Olímpica 2016 Polinômios
a = bq + r e 0 r < b.
1 Aritmética dos Inteiros 1.1 Lema da Divisão e o Algoritmo de Euclides Recorde-se que a, o módulo ou valor absoluto de a, designa a se a N a = a se a / N Dados a, b, c Z denotamos por a b : a divide b
Programa Combinatória Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 52
1 / 52 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 52 Programa 1 Combinatória 2 Aritmética Racional 3 Grafos 3 / 52 Capítulo 1 Combinatória 4 / 52 Princípio
Números primos e Criptografia
1 Universidade de São Paulo/Faculdade de Educação Seminários de Ensino de Matemática (SEMA-FEUSP) Coordenador: Nílson José Machado novembro/2008 Números primos e Criptografia Marisa Ortegoza da Cunha [email protected]
Matemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017
Matemática Discreta Fundamentos e Conceitos da Teoria dos Números Professora Dr. a Donizete Ritter Universidade do Estado de Mato Grosso 4 de setembro de 2017 Ritter, D. (UNEMAT) Matemática Discreta 4
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Como representar números em memória? Como representar números negativos e de ponto flutuante?
Matemática A - 10 o Ano
Matemática A - 10 o Ano Resolução da Ficha de Trabalho Álgebra - Divisão Inteira de Polinómios Grupo I 1. Considerando os polinómios p e b no enunciado temos que o termo de maior grau de p b é a nx n b
CRIVO QUADRÁTICO: UM ESTUDO DA OBTENÇÃO DE UM CONJUNTO DE NÚMEROS COMPLETAMENTE FATORADOS SOBRE UMA BASE DE FATORES
CRIVO QUADRÁTICO: UM ESTUDO DA OBTENÇÃO DE UM CONJUNTO DE NÚMEROS COMPLETAMENTE FATORADOS SOBRE UMA BASE DE FATORES Alex Zanella Zaccaron 1 ; Adriana Betânia de Paula Molgora 2 1 Estudante do Curso de
Cursos: Análise, Ciência da Computação e Sistemas de Informação Laboratório I - Prof. Aníbal Notas de aula 2 SISTEMAS NUMÉRICOS
Cursos: Análise, Ciência da Computação e Sistemas de Informação Laboratório I - Prof. Aníbal Notas de aula 2 SISTEMAS NUMÉRICOS Para entender como o computador armazena as informações, é importante conhecer
MATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco
MATEMÁTICA 1 Professor Matheus Secco MÓDULO 2 Divisibilidade 1. DIVISIBILIDADE 1.1 DEFINIÇÃO: Dizemos que o inteiro a é divisível pelo inteiro b (ou ainda que a é múltiplo de b) se existe um inteiro c
Sistemas Digitais. Circuitos Aritméticos. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)
Sistemas Digitais Circuitos Aritméticos Monitoria SD 2011.2 Daniel Alexandro/Reniê Delgado/Vanessa Ogg Editado por (DARA) Circuitos Aritméticos Circuitos Aritméticos são aqueles que realizam operações
MESTRADO PROFISSIONAL EM MATEMÁTICA EM REDE NACIONAL. ENQ Gabarito
MESTRADO PROFISSIONAL EM MATEMÁTICA EM REDE NACIONAL ENQ 20152 Gabarito Questão 01 [ 1,00 ::: (a)0,50; (b)0,50 ] Determine TODOS os valores possíveis para os algarismos x, y, z e t de modo que os números
5. Expressões aritméticas
5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis
Denominamos equação polinomial ou equação algébrica de grau n a toda equação da forma:
EQUAÇÕES POLINOMIAIS. EQUAÇÃO POLINOMIAL OU ALGÉBRICA Denominamos equação polinomial ou equação algébrica de grau n a toda equação da forma: p(x) = a n x n + a n x n +a n x n +... + a x + a 0 = 0 onde
Algoritmos. OBMEP Teoria dos números - Parte I. Algoritmo da divisão:
OBMEP Teoria dos números - Parte I Elaine Pimentel 1 o Semestre - 2006 Algoritmos Algoritmo = processo de cálculo baseado em regras formais Especificação de um algoritmo: entrada + instruções + saída Perguntas:
MA14 - Aritmética Unidade 20 Resumo. Teoremas de Euler e de Wilson
MA14 - Aritmética Unidade 20 Resumo Teoremas de Euler e de Wilson Abramo Hefez PROFMAT - SBM Aviso Este material é apenas um resumo de parte do conteúdo da disciplina e o seu estudo não garante o domínio
Matemática Discreta. SLIDE 3 Professor Júlio Cesar da Silva. site:
Matemática Discreta SLIDE 3 Professor Júlio Cesar da Silva [email protected] site: http://eloquium.com.br/ twitter: @profjuliocsilva Números Primos: são os números naturais que têm apenas dois
Este material é apenas um resumo de parte do conteúdo da disciplina.
Aviso Este material é apenas um resumo de parte do conteúdo da disciplina. O material completo a ser estudado encontra-se no Capítulo 10 - Seções 10.1 e 10.2 do livro texto da disciplina: Aritmética, A.
Teorema Chinês dos Restos. Sistema de Congruências. Tópicos Adicionais
Teorema Chinês dos Restos Sistema de Congruências Tópicos Adicionais Teorema Chinês dos Restos Sistema de Congruências 1 Exercícios Introdutórios Exercício 1. Para cada um dos itens abaixo, encontre todos
Multiplicação Divisão
Multiplicação Divisão 1 Introdução Nesta aula iremos analisar como podemos usar o Sistema Numérico para calcular operações básicas usando a Aritmética Decimal na: Multiplicação; Divisão. 2 MULTIPLICAÇÃO
Roteiro da segunda aula presencial - ME
PIF Enumerabilidade Teoria dos Números Congruência Matemática Elementar Departamento de Matemática Universidade Federal da Paraíba 29 de outubro de 2014 PIF Enumerabilidade Teoria dos Números Congruência
Teoria dos Números e Criptografia
Teoria dos Números e Criptografia Prof André LB Cavalcante, DSc UPIS Faculdades Integradas Faculdade de Tecnologia Dept Sistemas de Informação (andre0@upisbr Resumo: O artigo apresenta de forma didática
Divisão e conquista. Eficiência de divisão e conquista
Divisão e conquista Divisão: resolver recursivamente problemas mais pequenos (até caso base) Conquista: solução do problema original é formada com as soluções dos subproblemas á divisão quando o algoritmo
ALGORITMO DE EUCLIDES
Sumário ALGORITMO DE EUCLIDES Luciana Santos da Silva Martino lulismartino.wordpress.com [email protected] PROFMAT - Colégio Pedro II 25 de agosto de 2017 Sumário 1 Máximo Divisor Comum 2 Algoritmo
Aula Inaugural Curso Alcance 2017
Aula Inaugural Curso Alcance 2017 Revisão de Matemática Básica Professores: Me Carlos Eurico Galvão Rosa e Me. Márcia Mikuska Universidade Federal do Paraná Campus Jandaia do Sul [email protected] 06 de
MESTRADO PROFISSIONAL EM MATEMÁTICA EM REDE NACIONAL. ENQ Gabarito
MESTRADO PROFISSIONAL EM MATEMÁTICA EM REDE NACIONAL ENQ 016. Gabarito Questão 01 [ 1,00 ] A secretaria de educação de um município recebeu uma certa quantidade de livros para distribuir entre as escolas
MA14 - Aritmética Unidade 15 - Parte 1 Resumo. Congruências
MA14 - Aritmética Unidade 15 - Parte 1 Resumo Congruências Abramo Hefez PROFMAT - SBM Aviso Este material é apenas um resumo de parte do conteúdo da disciplina e o seu estudo não garante o domínio do assunto.
Aritmética em Bases Não Decimais
Aritmética em Bases Não Decimais Cristina Boeres Insituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material cedido por Fernanda Passos (IC/UFF) Aritmética em Bases Não Decimais FAC
REVISÃO DOS CONTEÚDOS
REVISÃO DOS CONTEÚDOS As quatro operações fundamentais As operações fundamentais da matemática são quatro: Adição (+), Subtração (-), Multiplicação (* ou x ou.) e Divisão (: ou / ou ). Em linguagem comum,
