• Nenhum resultado encontrado

4 APLICAÇÕES

4.1 Aplicações no Ensino Médio

4.1.1 Metodologia

Que a matemática está presente em nosso cotidiano não é uma surpresa, porém, muitas aplicações da matemática nos passam despercebidas, como por exemplo, os dígitos do nosso CPF, os códigos de barras de produtos e nossa segurança virtual por meio de senhas.

Partindo deste pressuposto, é de suma importância tentar entender o funcionamento de alguns fatos que ocorrem ao nosso redor. Diante disso, este trabalho surge como uma alternativa para compreender os exemplos citados. Para isso foi elaborado uma proposta de aplicação que envolvem os conteúdos de congruência e que podem ser trabalhados no ensino médio.

A proposta inicial é de que este trabalho seja dividido em quatro etapas, de modo que seja possível concluir tal aplicação em quatro aulas. Para atingir tal objetivo, o ideal é dividir a turma em grupos, pois o trabalho em equipe facilitará na resolução das atividades propostas.

Após a divisão dos grupos, é de suma importância que a primeira etapa que tratará dos conceitos básios tenha sido bem clara, pois tais conceitos serão necessários e fundamentais para toda a aplicação, visto que é a partir dele que será possível realizar as demais etapas.

Nas etapas seguintes, para uma maior agilidade, recomenda-se que o docente distribua todo o material necessário impresso, sendo essencial a explicação dos principais passos. Vale ressaltar que no material constará todo o passo a passo a ser seguido, de modo que o papal dos discentes será interpretar e adaptar para os problemas propostos para cada grupo. A seguir veremos com mais detalhes como será dividido cada etapa.

A primeira etapa consiste em introduzir aos discentes o conceito de congruência e apresentar de forma simples os pricipais resultados apresentados no trabalho, como por exemplo, o Pequeno Teorema de Fermat e o Teorema de Euler.

Na segunda etapa serão apresentados problemas que envolvam o CPF, neste momento vale a pena indagar perguntas para motivar os discentes, como por exemplo, os números do CPF são aleatórios? Existe alguma regra para determinar tais números?

Em seguida o ideal é apresentar a proposta de modo que cada um seja capaz de identificar os números verificadores de seu próprio CPF, tendo como sequência o desafio de determinar os números verificadores do CPF de um colega.

31

de barras, indagar sobre o funcionamento e finalidade de um codigo de barras pode gerar motiviação nos discentes, como por exemplo, ler um código de barras de forma invertida altera a identificação do produto? E, qual a diferença de um código de barras para o outro?

Uma boa proposta de abordagem é levar produtos com os números do código de barras cobertos para que os discentes sejam capazes de identificar tais números utilizando todos os conceitos apresentados no trabalho.

Por fim, na quarta etapa do trabalho será apresentado aos discentes o método de cripto- grafia RSA, método que por si só é bastante atraente para o público jovem, uma vez que engloba a criptografia de mensagens e bastante tecnologia. A dica principal para a aplicação é utilizar números primos pequenos, de modo que os discentes consigam descriptografar as mensagens criadas com mais facilidade.

4.1.2 CPF

O CPF ou Cadastro de Pessoal Física é um número composto por 11 dígitos que tem como finalidade identificar pessoas. Destes 11 dígitos podemos detacar os 3 últimos, onde os dois últimos são os dígitos verificadores e o terceiro dígito da direita para a esquerda identifica a unidade federativa na qual a pessoa foi registrada. A tabela abaixo nos mostra o código de cada estado.

Tabela 1 – Código de cada Estado

0 Rio Grande do Sul

1 Distrito Federal, Goiás, Mato Grosso do Sul e Tocantins 2 Pará, Amazonas, Acre, Amapá, Rondônia e Roraima

3 Ceará, Maranhão e Piauí

4 Pernambuco, Rio Grande do Norte, Paraíba e Alagoas

5 Bahia e Sergipe

6 Minas Gerais

7 Rio de Janeiro e Espírito Santo

8 São Paulo

9 Paraná e Santa Catarina

Fonte: O autor (2021).

Exemplo 4.1. A pessoa portadora do CPF de número 000.000.006-00 foi registrada no estado de Minas Gerais.

Exemplo 4.2. A pessoa portadora do CPF de número 000.000.004-00 foi registrada em um desses quatro estados: Pernambuco, Rio Grande do Norte, Paraíba ou Alagoas

Para determinar os dígitos verificadores de um CPF existe toda uma matemática por trás, e ela envolve congruência modular. A seguir veremos como determinar tais números.

O primeiro passo para obter tais dígitos é multiplicar os 9 primeiros dígitos do CPF da esqueda para a direita pela seguinte sequência de números: 1, 2, 3, 4 , 5, 6, 7, 8 e 9.

32

Em seguida devemos somar os produtos obtidos, chamaremos o resultado dessa soma de

S1. O primeiro dígito verificador será o número congruente a S1 módulo 11.

Analogamente o segundo dígito verificador pode ser obtido multiplicando os 10 primeiros dígitos do CPF pela sequência: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9, em seguida devemos somar os produtos obtidos, assim chamaremos o resultado dessa soma de S2. O Segundo dígito

verificador será o

número congruente a S2 módulo 11.

Traduzindo o que foi dito acima para uma linguagem matemática, teremos que o primeiro dígito verificador DV1 será obtido da seguinte forma:

S1 = 1 . a1 + 2 . a2 + 3 . a3 + 4 . a4 + 5 . a5 + 6 . a6 + 7 . a7 + 8 . a8 + 9 . a9

S1 ≡ DV1(mod 11)

E o segundo dígito verificador será obtido da seguinte forma:

S2 = 0 . a1 + 1 . a2 + 2 . a3 + 3 . a4 + 4 . a5 + 5 . a6 + 6 . a7 + 7 . a8 + 8 . a9 + 9 . a10

S2 ≡ DV2(mod 11)

Onde as sequências a1, a2, · · · , a9 e a1, a2, · · · , a10 são os dígitos do CPF.

Observação: Caso o número obtido for congruênte a 10 módulo 11, será utilizado o 0 como dígito verificador.

Exemplo 4.3. Determine os dígitos verificadores do CPF que possui a sequência 491633844 como os 9 primeiros dígitos.

Primeiro devemos multiplicar esses dígitos pelos números 1, 2, 3, 4, 5, 6, 7, 8, e 9, obtendo o seguinte resultado:

S1 = 1 . 4 + 2 . 9 + 3 . 1 + 4 . 6 + 5 . 3 + 6 . 3 + 7 . 8 + 8 . 4 + 9 . 4

S1 = 206

E temos que

206 ≡ 8(mod 11) Logo, o primeiro dígito verificador deste CPF é 8. O segundo dígito verificador é encontrado fazendo:

S2 = 0 . 4 + 1 . 9 + 2 . 1 + 3 . 6 + 4 . 3 + 5 . 3 + 6 . 8 + 7 . 4 + 8 . 4 + 9 . 8

S2 = 236

E temos que

236 ≡ 5(mod 11) Logo, o segundo dígito verificador deste CPF é 5. Portanto o CPF completo é 491.633.844-85

33

4.1.3 Código de Barras

Não podemos questionar a importância do código de barras em nosso dia a dia, afinal ele está presente em todos os produtos que compramos, porém, qual seria a utilidade dele?

Basicamente o código de barras tem como principal finalidade identificar produtos, as barras são formadas a partir de um código binário, onde o número 1 representa as faixas pretas e o número 0 as faixas brancas. Quando uma faixa é mais grossa que as demais significa que existe um somatório de várias faixas da mesma cor, dessa forma o código de barras funciona como uma espécie de RG, visto que são únicos.

Com o avanço da tecnologia e a chegada dos leitores a laser a identificação de produtos por meio de código de barras se tornou quase instantânea, agilizando todo o processo de compras. Mas, como funciona o processo de leitura de um código de barras?

A grosso modo os leitores funcionam como um scanner, onde os mesmos emitem um raio que incide sobre as barras. Quando a barra é escura, a luz é absorvida e quando é branca é refletida para o scanner. Daí, a partir dessas informações o computador consegue decodificar o código binário e identificar o produto registrado.

Estados Unidos e Canadá utilizam códigos de barra do tipo UPC (Código Universal de Produtos), esse código de barras consiste de 12 dígitos, onde os números são colocados abaixo das listras, como podemos ver na figura abaixo.

Figura 1 – Código de barras do tipo UPC

Fonte: O autor (2021).

Os demais países utilizam o código EAN-13 (European Article Numbering system) que possui um dígito a mais, sendo este o dígito verificador. Neste código de barras em questão cada bloco numérico apresenta uma informação diferente, como, por exemplo, identificação do país, da empresa e do produto.

Veremos a seguir como são feitos a leitura e o cálculo do dígito verificador para os códigos de barras mencionados.

Vimos anteriormente que os códigos de barras representam números no sistema binário, agora veremos qual o número formado de acordo com cada tipo de barra. Veremos que existem barras finas, médias, grossas e muito grossas, que são responsáveis por determinar um certo número. Podemos ver qual o valor de cada barra a partir da tabela abaixo.

31

Figura 2 – Código de barras do tipo EAN-13

Fonte: Códigos de Barras Brasil (2021).

Tabela 2 – Valor correspondente das barras

Listras Finas Médias Grossas Muito Grossas

Branca 0 00 000 0000

Preta 1 11 111 1111

Fonte: Esquinca (2013).

A principal diferença entre o código de barras EAN-13 e o UPC é que as barras do tipo EAN-13 possuem três blocos de barras um pouco mais compridas que as outras, onde cada bloco possui três barras que servem como delimitadores e não representam números. Enquanto os delimitadores dos códigos de barra do tipo UPC são representados por barras maiores, onde o primeiro e o último dígito estão codificados com barras do mesmo tamanho das delimitadoras.

A seguir veremos como são realizadas as leituras de cada código de barras.

No código de barras do tipo UPC é feita a leitura referente a espessura e a cor das barras, de modo que a cada quatro barras será associado uma sequência de sete dígitos entre zeros e uns, onde cada digíto de 0 até 9 é representado por uma sequência de zeros e uns, como mostra a tabela abaixo.

Exemplo 4.4. Em um detemrinado código de barras do tipo UPC, aparece o seguinte número: 123601057072. Escreva tal número da forma binária utilizando os dados da Tabela 3. Primeiro devemos verificar quais números pertencem ao lado esquedo e quais pertencem ao lado direito, daí temos que:

32 Tabela 3 – Valor correspondente a cada dígito no UPC

Dígito Lado Esquerdo Lado Direito

0 0001101 1110010 1 0011001 1100110 2 0010011 1101100 3 0111101 1000010 4 0100011 1011100 5 0110001 1001110 6 0101111 1010000 7 0111011 1000100 8 0110111 1001000 9 0001011 1110100 Fonte: Esquinca (2013). Lado esquerdo: 123601 Lado direito: 057072

Com isso, basta escrevermos tais números individualmente em sua forma binária pelos dados da Tabela 3, daí obtemos:

0011001 - 0010011 - 0111101 - 0101111 - 0001101 - 0011001 - 1110010 - 1001110 - 1000100 - 1110010 - 1000100 - 1101100

Onde tal código binário é representado pelo seguinte código de barras:

Figura 3 – Código de barras ex 3.4

Fonte: O autor (2021).

Assim como no UPC os códigos de barra do tipo EAN-13 também são representados por zeros e uns. Por possuir um dígito a mais e para que uma mesma leitura seja capaz de identificar códigos de barras de ambos os sistemas, temos que o primeiro dígito que aparece no sistema EAN-13 é definido pelos 6 dígitos seguintes. Por conta disso é preciso acrescentar dados a mais para cada dígito do lado esquerdo como mostra a tabela abaixo.

33 Tabela 4 – Valor correspondente a cada dígito no EAN-13

Dígito Lado Esquerdo (Ímpar) Lado Esquerdo (Par) Lado Direito

0 0001101 0100111 1110010 1 0011001 0110011 1100110 2 0010011 0011011 1101100 3 0111101 0100001 1000010 4 0100011 0011101 1011100 5 0110001 0111001 1001110 6 0101111 0000101 1010000 7 0111011 0010001 1000100 8 0110111 0001001 1001000 9 0001011 0010111 1110100 Fonte: Esquinca (2013).

Um cuidado importante que deve-se tomar ao decodificar um código de barras EAN-13 é observar a quantidade de números uns de cada dígito, caso a quantidade de uns seja ímpar deve-se procurar na tabela acima a sequência correspondente ao Lado Esquerdo (ìmpar), do contrário a sequêcia desejada estará no Lado Esquerdo (Par). A leitura do lado direito é análoga ao sistema UPC.

Exemplo 4.5. Determine a codificação do seguinte código de barras

Figura 4 – Código de barras ex 3.5

Fonte: O autor (2021).

O primeiro passo é analisar as barras utilizando os dados da Tabela 2.

Vale ressaltar que as barras maiores não são consideradas para codificar os números. Perceba então que logo após as barra maiores temos:

Barra branca fina → 0 Barra preta média → 11 Barra branca fina → 0 Barra preta grossa → 111

34

Fazendo o mesmo procedimento com as demais barras, encontraremos os dados presentes na tabela a seguir:

Tabela 5 – Descodificação do ex 3.5

Lado Esquerdo Lado Direito

1o 8 ←→ 0110111 (Quantidade ímpar de

uns) 7

o 0 ←→ 1110010

2o 9 ←→ 0010111 (Quantidade par de uns) 8o 5 ←→ 1001110

3o 1 ←→ 0011001 (Quantidade ímpar de

uns) 9

o 5 ←→ 1001110

4o 1 ←→ 0110011 (Quantidade par de uns) 10o 8 ←→ 1001000

5o 5 ←→ 0110001 (Quantidade ímpar de

uns) 11

o 7 ←→ 1000100

6o 0 ←→ 0000101 (Quantidade par de uns) 12o 2 ←→ 1101100

Fonte: O autor (2021).

A tabela abaixo nos mostra que a paridade da quantidade de números uns que aparecem na representação dos seis primeiros dígitos irá determinar o primeiro dígito do código de barras EAN- 13.

Tabela 6 – Paridade da codificação

Dígito Inicial 1o 2o 3o 4o 5o 6o

0 ímpar ímpar ímpar ímpar ímpar ímpar

1 ímpar ímpar Par ímpar Par Par

2 ímpar ímpar Par Par ímpar Par

3 ímpar ímpar Par Par Par ímpar

4 ímpar Par ímpar ímpar Par Par

5 ímpar Par Par ímpar ímpar Par

6 ímpar Par Par Par ímpar ímpar

7 ímpar Par ímpar Par ímpar Par

8 ímpar Par ímpar ímpar Par ímpar

9 ímpar Par Par Par Par ímpar

Fonte: Esquinca (2013).

Agora perceba que nossa sequeência encontrada possui a seguinte paridade Ímpar, par, Ímpar, Par, Ímpar, Par

Portanto, pela tabela 6, teremos que o primeiro dígito de fato é 7. 4.1.4 Criptografia RSA

O termo criptografia nos remete a algo moderno, como por exemplo, mecanismos para proteger senhas ou conversas. Entretanto, desde a antiguidade o homem já utilizava códigos para transmitir mensagens, onde basicamente alguém que possuisse tal código poderia distorcer uma deterinada mensagem de modo que apenas quem conhecesse esse código fosse capaz de indentificá-la.

35

Quando falamos de RSA, temos que ter em mente que esse método de criptografia possui duas chaves, onde uma chave é pública, ou seja, qualquer pessoa pode utilizar para criptografar mensagens e outra chave é privada, de modo que apenas quem possuir tal chave será capaz de descriptografar a mensagem.

Apesar de existirem diversos métodos de criptografia, o RSA é o mais utilizado atualmente em aplicações comerciais, com ele é possível criar criptografias com diversos graus de segurança. Tendo em vista sua importância, para compreender tal médoto precisamos nos ater em dois parâmetros básicos: para codificar uma mensagem precisamos de dois números primos, que chamaremos de p e q, de modo que conheçamos seu produto, do qual chamaremos de n. E para descodificar a mensagem iremos precisar conhecer apenas quem são os primos p e

q.

Tome como exemplo um determinado aplicativo de troca de mensagens, agora suponha que para um usuário enviar a mensagem para outro o mesmo precisa conhecer o número n = pq, ou seja, tal chave é uma chave pública, onde todos os usuários a conhecem. Sendo n a chave pública, para que um indíviduo de fora do aplicativo consiga descriptografar a mensagem, ele precisa apenas determinar os primos p e q que constituirão a chave de decodificação.

Aparentemente o método se mostra fraco, visto que para decifrar o código basta apenas fatorar o número n em componentes primos, porém, o RSA utiliza primos muito grandes chegando a 150 algarismos ou mais, de modo que para fatorar tal número é uma tarefa quase impossível, isso levando em conta os métodos atuais.

Dividiremos o método de criptografia RSA em algumas partes, seja a primeira delas chamada de etapa de pré-codificação, e suponha que a mensagem a seguir não possui números, acentuação nem pontuação, e suponha que sejam utilizadas apenas letras maiúsculas de A a Z, onde os espaços entre as palavras serão substituidos pelo número 99.

Tome a tabela abaixo como sendo nossa tabela de conversão, perceba que cada letra corresponde a um número de dois algarismos para evitar ambiguidade.

Tabela 7 – Tabela de conversão

A B C D E F G H I J K L M

10 11 12 13 14 15 16 17 18 19 20 21 22

N O P Q R S T U V W X Y Z

23 24 25 26 27 28 29 30 31 32 33 34 35 Fonte: O autor (2021).

Convertendo a frase Tenha Coragem, obtemos o seguinte número

29142317109912242710161422

Para darmos continuidade no método RSA vamos usar um exemplo em que p = 11 e q = 13, assim n = 143. Daí a mensagem acima convertida e quebrada ficará com os seguintes blocos:

36

Perceba que a forma de formar os blocos não é única, porém precisamos tomar alguns cuidados, é muito importante que os blocos não comecem com 0, pois dessa forma teríamos problemas na hora de decodificar a mensagem. Por esse motivo no exemlo acima não fizemos

29 − 142 − 21 − 71 − 099 − · · ·

Após a pré-codificação, a próxima fase é a de codificação. E para essa etapa, precisaremos de n que é o produto dos nossos primos p e q e de um inteiro positivo t que deve ser inversível módulo φ(n), ou seja, mdc(t, φ(n)) = 1.

Temos que φ(n) é da seguinte forma

φ(n) = (p − 1)(q − 1)

ou seja, se conhecermos p e q podemos calcular facilmente φ(n).

Daí, a chave de codificação RSA será denotada pelo par (n, t). Em seguida vamos chamar de C(b) o bloco codificado, tal que b ∈ Z∗

+ e b/, n. Logo, C(b) ≡ bt(mod n), onde 0 ≤

C(b) < n.

Em nosso exemplo, temos que p = 11 e q = 13, assim, n = 143 e

φ(n) = (11 − 1)(13 − 1) = 10 . 12 = 120. para escolher t vamos utilizar o menor valor

possível, e esse valor será o 7, pois é o menor primo que não divide 120. Agora veja como fica o bloco 29 da mensagem do nosso exemplo após ser codificada.

C(29) ≡ 297 ≡ (29)5 . (29)2(mod 143) ≡ (29)5 . 841(mod 143) ≡ (29)5 . 126(mod 143) ≡ 29 . 126 . 126 . 126(mod 143) 79 . 126 . 126(mod 143) 87 . 126(mod 143) 94(mod 143)

Logo, podemos substituir o antigo bloco 29 pelo bloco 94 que já está codificado. Fazendo isso nos demais blocos ficamos com a seguinte mensagem codificada:

94 − 142 − 125 − 6 − 10 − 44 − 34 − 81 − 6 − 62 − 74 − 81 − 128

Para decodificar está mensagem precisamos saber a informão contida no par (n, s), onde

d é o inverso de t módulo φ(n), daí o par (n, d) será chamado de chave de decodificação. Sendo D(a)

o resultado do processo de decodificação, segue que D(a) é dado por

D(a) ≡ ad(mod n), onde 0 ≤ D(a) < n.

Conhecendo φ(n) e o número d basta aplicar o Teorema de Bezout para decodificar, porém, caso não conheçamos p e q o cálculo de d será quase impossível.

37

Pelo nosso exemplo temos que n = 143 e t = 7. Daí, aplicando o Teorema de Bezout para calcular d, teremos que dividir φ(143) por 7, onde obtemos que

120 = 7 . 17 + 1

ou seja,

1 = 120 + (−17) . 7.

Com isso, temos que o inverso de 7 módulo 120 é -17. Mas, como queremos d positivo basta fazermos d = 120 − 17 = 103 que é o menor inteiro positivo congruente a -17 módulo 120.

Portanto, pada decodificar o bloco de mensagem codificada, precisamos calcular a forma reduzida de ad módulo n. Assim, pelo nosso exemplo anterior, se quisermos decodificar dentre os blocos

codificados o bloco 142, teremos que calcular a forma reduzida de 142103 módulo 143, porém, esse cálculo só é possível utilizando um sistema de computação algébrica, daí poderíamos verificar que de fato 142103 ≡ 142(mod 143).

38

5 CONCLUSÃO

Podemos concluir a partir deste trabalho que a aritmética modular é de grande importância para o ensino da matemática, conceitos como congruência possuem uma vasta aplicação em nosso cotidiano e isso deve ser utilizado com mais frequência pelo docente.

Foram apresentadas no trabalho três aplicações que envolvem aritmética modular e que estão diretamente ligadas ao cotidiano de qualquer cidadão, problemas estes que podem ser propostos e adaptados para que discentes do ensino médio sejam introduzidos a estes conceitos.

Portanto, apesar de muito amplo, é possível trabalhar conceitos de aritmética modular presentes em nosso dia a dia por meio de aplicações, tornando a aprendizagem mais simples e prática, vale ressaltar ainda que diversos conceitos já são trabalhados no ensino médio, porém muitas vezes sem citar diretamente o conteúdo de congruência, como por exemplo, as potências de números complexos que podem ser trabalhadas como uma congruência de módulo 4.

39 REFERÊNCIAS

ARAÚJO, J. E. de. Divisibilidade, congruência e aritmética modular em problemas olímpicos. 2018. Dissertação (Mestrado Profissional em Matemática) – Programa de Pós- Graduação em Matemática, Centro de Ciência e Tecnologia, Universidade Federal de Campina Grande, Campina Grande, PB, 2018.108p. Disponível em:

http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/2291. Acesso em: 15 jan. 2021.

AVELAR, R. C. Uma abordagem da aritmética modular na primeira série do ensino médio.2015. Dissertação (Mestrado Profissional em Matemática) - Instituto de Ciêncis Exatas, Universidade Federal de Juiz de Fora, Juiz de Fora, MG, 2015. 54p. Disponível em:https://repositorio.ufjf.br/jspui/handle/ufjf/336. Acesso em: 20 jan.2021.

CÓDIGOS DE BARRAS BRASIL. Como os códigos de barra funcionam? São Paulo: Códigos de Barras Brasil,2021. Disponível em:

https://codigosdebarrasbrasil.com.br/como-coacutedigos-de-barras- funcionam.html. Acesso em: 12 jan.2021.

COUTINHO, S. C. Números inteiros e criptografia RSA. 2. ed. Rio de Janeiro: IMPA, 2014.

ESQUINCA, J. C. P. Aritmética : códigos de barras e outras aplicações de congruências. 2013. Dissertação (Mestrado Profissional em Matemática) - Programa de Pós-Graduação em Matemática, Centro de Ciência e Tecnologia, Universidade Federal de Mato Grosso do Sul, Campo Grande, MS, 2013. 73p. Disponível

em:https://repositorio.ufms.br/handle/123456789/1746. Acesso em: 15 jan. 2021.

FEITOSA, S. Curso de teoria dos números: nível 2: o teorema de Euler. [s. l.]: Polos Olímpicos de Treinamento,2012. (Apostila). Disponível em:

https://poti.impa.br/uploads/material_teorico/gws18uwsrjswk.pdf. Acesso em: 15 jan. 2021.

SANTOS, J. P. O. Introdução à teoria dos números.1 ed. Rio de Janeiro: SMB, 1998.

SANTOS, M. C. S. Criptografia RSA.2018. Trabalho de Conclusão de Curso ( Licenciatura em Matemática) - Universidade Federal de Alagoas, Arapiraca,2018. 42p. Disponível em: https://ud10.arapiraca.ufal.br/repositorio/publicacoes/1941. Acesso em: 20 jan. 2021.

Documentos relacionados