Nome: Paulo Eduardo Rodrigues de Oliveira Nome: Pedro Thiago Ezequiel de Andrade Nome: Rafael Lucas Gregório D'Oliveira. Rsa

Tamanho: px
Começar a partir da página:

Download "Nome: Paulo Eduardo Rodrigues de Oliveira Nome: Pedro Thiago Ezequiel de Andrade Nome: Rafael Lucas Gregório D'Oliveira. Rsa"

Transcrição

1 Nome: Paulo Eduardo Rodrigues de Oliveira Nome: Pedro Thiago Ezequiel de Andrade Nome: Rafael Lucas Gregório D'Oliveira RA: RA: RA: Rsa Introdução: Criptografia (Do Grego kryptós, "escondido", e gráphein, "escrita") é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário. A criptografia pré-computacional era formado por um conjunto de métodos de substituição e transposição dos caracteres de uma mensagem que pudessem ser executados manualmente (ou até mesmo mentalmente) pelo emissor e pelo destinatário da mensagem. O surgimento de máquinas especializadas e, posteriormente, dos computadores ocasionou uma significativa evolução das técnicas criptográficas. A era da criptografia moderna começa realmente com Claud Shannon, possivelmente o pai da criptografia matemática. Em 1949 ele publicou um artigo Communication Theory of Secrecy Systems com Warren Weaver. Este artigo, junto com outros de seus trabalhos que criaram a área de Teoria da Informação estabeleceu uma base teórica sólida para a criptografia e para a criptoanálise. Depois isso, quase todo o trabalho realizado em criptografia se tornou secreto, realizado em organizações governamentais especializadas (como o NSA nos Estados Unidos). Apenas em meados de 1970 as coisas começaram a mudar. Em 1976 aconteceram dois grandes marcos da criptografia para o público. O primeiro foi a publicação, pelo governo americano, do DES (Data Encryption Standard), um algoritmo aberto de criptografia simétrica, selecionado pela NIST em um concurso onde foi escolhido uma variante do algoritmo Lucifer, proposto pela IBM. O DES foi o primeiro algoritmo de criptografia disponibilizado abertamente ao mercado. O segundo foi a publicação do artigo New Directions in Cryptography por Whitfield Diffie e Martin Hellman, que iniciou a pesquisa em sistemas de criptografia de chave pública. Este algoritmo ficou conhecido como "algoritmo Diffie-Hellman para troca de chaves" e levou ao imediato surgimento de pesquisas neste campo, que culminou com a criação do algoritmo RSA, por Ronald Rivest, Adi Shamir e Leonard Adleman. RSA: Podemos resumir o RSA em três partes: Geração das chaves, Codificação, e Decodificação.

2 Geração das chaves: 1 -- Escolhe-se dois números primos p e q Calculamos n = p.q Daí calculamos φ(n) = (p 1)(q - 1), onde φ é a função totiente de Euler Escolhe-se um e tal que 1 < e < φ(n) e m.d.c.(φ(n), e) = Daí calculamos d de tal forma que d.e 1 (mod φ(n)). A chave pública o par de números n e e A chave privada o par de números n e d Codificação: Primeiramente deve-se converter a mensagem em números. Uma forma é associar a cada caractere um numero de dois dígitos. Se forem usar apenas letras, por exemplo, pode-se fazer A=10, B=11, C=12... Depois, quebramos a mensagem em blocos, que devem ter valor menor que n. Cada bloco é encriptado separadamente da seguinte forma: Seja m o bloco. O bloco encriptado será c m e (mod n). Decodificação: Para recuperar a mensagem m da mensagem encriptada c basta fazer outra potenciação modular: m c d (mod n). Porque funciona? : Inicialmente supomos que m.d.c.(m,n) = 1. Daí temos que provar que c d m (mod n). Isto é, m e.d m (mod n). Mas e.d 1 (mod φ(n)) logo e.d = 1 + r.φ(n). E portanto m e.d m.m r.φ(n) m (mod n). Se m.d.c.(m,n) > 1 teremos a igualdade de qualquer forma pois daí m sera divisível por p ou q, e portanto m e.d m 0 (mod p) ou m e.d m 0 (mod q). Logo, em qualquer caso m e.d m (mod n). Alem disso, como fizemos m<n temos realmente a igualdade m e.d m. Assinatura Digital: Para que o metodo rsa fique ainda mais seguro, a mensagem pode ser assinada. Suponha que uma mensagem codificada será enviada de a para b, e que ambos tenham uma chave publica C e sua respctiva chave privada D.

3 Quando a for enviar a mensagem então ao invés de enviar C b (m), ele envia D a (C b (m)). Logo quando b receber a mensagem codificada, para decodificar-la ele usa a sua chave privada e a chave publica de b, assim D b (C a (D a (C b (m)))) D b (C b (m)) m. Se a mensagem final fizer sentido, então b terá certeza que essa mensagem veio de a. Segurança do RSA: Como RSA é um método de chave publica, então quanto mais difícil for de calcular d a partir da chave publica, mais seguro será o método. Para se calcular d, basta aplicar o algoritmo euclidiano estendido para φ(n) e e. Logo para se calcular d a partir da chave publica é preciso achar φ(n), mas isso implica a fatoração de n. Como achar d sem ter φ(n) também implica a fatoração de n e descobrir a mensagem sem ter d, é inviável e ninguém conseguiu se n é grande, então acredita-se que quebrar o RSA é equivalente a fatorar n, logo basta escolher um n apropriado para que o método seja seguro, já que não existe algoritmo rápido de fatoração. Algoritmo em C: Programa que codifica: #include <stdio.h> #include <math.h> #include <stdlib.h> /*Esse programa codifica em criptografia RSA qualquer mensagem com menos 50 caracteres (letras minusculas e _ que será usado no lugar do espaço). Nesse programa são usadas a chave publica geral (40297,449) e a chave de decodificação para assinar o codigo (29489,20459). Na chave geral n = 683*59 logo a chave de decodificação geral é (40297,4493), na chave da assinatura n = 797*37 e a chave publica da assinatura é (29489,1283). Tanto a chave de decodificação geral quanto a chave publica da assinatura seram usadas no programa que descodifica o codigo aqui gerado. Observe que o n da chave publica é maior que o n da chave da assinatura. Isso não é por acaso e seá explicado mais a frente.*/ long long int potmod (int a,int e,long long int n){ /*função que calcula pontenciação mod n isso é a^e mod n*/ long long int t=1; int i; for (i=1;i<=e;i++) t = t*a%n; return t; int main (){ char mc[50] ; int mi[50],i,j,k=0,e=1,c[20],d[20]; FILE *arq; arq = fopen("codigo.txt", "w") ;/*Nesse arquivo será guardada a mensagem codificada*/ printf ("Use somente letra minúcula e _ ao invés de espaço.\n");

4 while (e==1 e==0){/*a variavel "e" será usada para identificar se existe caracteres não reconhecidos pelo código, caso exista a mensagem deverá ser reescrita sem estes caracteres*/ e = 1; printf ("Mensagem: "); scanf("%s", mc); for (i=0;mc[i]!=0;i++){ mi[i] = mc[i]; /*Para a pré-codificação, os caracteres são transformados em inteiros segundo a tabela ascii...*/ if (mi[i]==95) mi[i] = 99; /*...depois subtrai 87 de todos os inteiros para que tenham 2 algarismos*/ if (mi[i]>=97) mi[i] = mi[i] - 87; else e = 0; if (e==0) printf("sua mensagem tem caracteres indisponíveis, escreva-a denovo.\n"); else e = 2; j=0; while (j<i-2){/*para terminar o pré-codificação os inteiros seram reagrupados tentando fazer que os novos inteiros que sejam menores e o mais proximo possivel, com os mesmo algarismo e em mesma ordem, de n da chave da assinatura.*/ c[k] = mi[j]* mi[j+1]*100 + mi[j+2]; if (c[k]<29489) j = j+3; if (c[k]/10<29489 && c[k]%10!=0) { /*Caso o resto seja 0, como esse resto será o primeiro algarismo a esquerda ele seria perdido, para que isso não aconteça...*/ mi[j+2] = c[k]%10; c[k] = c[k]/10; j = j+2; /*...se usa dois inteiros para formar o novo inteiro*/ c[k] = c[k]/100; j = j+2; k++; /*procedimento que evita erros*/ if (j==i-2) c[k] = 100*mi[j] + mi[j+1]; if (j==i-1) c[k] = mi[j]; for (i=0;i<=k;i++){/*enfim a codificação final. Aqui já da para perceber porque o n da chave publica é maior que o n da chave da assinatura. Como depois da codificação os inteiros não podem ser reagrupados ((a^e)^d=a) senão a mensagem será perdida, para que após a primeira codificação o inteiro não fique maior que o n da segunda codificação, basta tomar o primeiro n menor que o segundo, já que o inteiro codificado será menor que o primeiro n. E não haverá problemas na decodificação ja (a^e)^d=a e a é menor que o n da chave assinatura.*/ d[i] = potmod (c[i],20459,29489); d[i] = potmod (d[i],449,40297); fprintf(arq, "%d ",d[i]); fclose(arq);

5 Programa que decodifica: #include <stdio.h> #include <math.h> #include <stdlib.h> /*Na decodificação será usada primeiro a chave de decodificação geral (40297,4493) e depois a chave publica da assinatura (29489,1283).Assim sendo a mensagem "a", será enviada a mensagem "(a^da)^eg" onde da é a chave de decodificaã à o da assinatura e eg é a chave puglica geral, logo a mensagem decodificada será "(((a^da)^eg)^dg)^ea=(a^da)^ea=a"*/ long long int potmod (int a,int e,long long int n){ /*função que calcula pontenciação mod n isso à a^e mod n*/ long long int t=1; int i; for (i=1;i<=e;i++) t = t*a%n; return t; int main (){ char mc[50] ; int mi[50],i,j,k=0,e=1,c[20],d[20],r; FILE *arq; arq = fopen("codigo.txt", "r") ; for (i=0;!feof(arq);i++){/*primeira parte da decodificação, onde será obtida a mensagem após a pré-codificação*/ fscanf(arq,"%d",&d[i]); c[i] = potmod (d[i],4493,40297); c[i] = potmod (c[i],1283,29489); for (j=0; j<i-1; j++){/*segunda parte da decodificação, onde será reagrupado os algarismo em pares*/ if (c[j]>=10000) c[j] = r* c[j]; if (c[j]>=1000) c[j] = r* c[j]; if (c[j]>=100) c[j] = r* c[j]; if (c[j]>=10) c[j] = r*100 + c[j]; else c[j] = 10*r + c[j]; if (c[j]>= (c[j]<10000 && c[j]>=1000) c[j]<100) r=0; if (c[j]< && c[j]>=10000){ r = c[j]%10; c[j] = c[j]/10; if (c[j]<1000 && c[j]>=100){ r = c[j]%10; c[j] = c[j]/10; mi[k] = c[j]/10000; if (mi[k]!=0) {c[j] = c[j]%10000; k++; mi[k] = c[j]/100; if (mi[k]!=0) {c[j] = c[j]%100; k++; mi[k] = c[j]; k++; for (i=0;i<k;i++) {/*E aqui onde enfim os inteiros são transformados em caracteres, retornando a mensagem original*/ if (mi[i]!=99) mc[i] = mi[i]+87; else mc[i] = 95; printf("%s\n",mc);

Álgebra A - Aula 11 RSA

Álgebra A - Aula 11 RSA Álgebra A - Aula 11 RSA Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Criptografia RSA- pré-codificação Converter a mensagem em uma seqüência de números pré-codificação.

Leia mais

MA14 - Aritmética Unidade 24 Resumo

MA14 - Aritmética Unidade 24 Resumo MA14 - Aritmética Unidade 24 Resumo Introdução à Criptografia 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

Leia mais

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil.

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil. Encontro de Ensino, Pesquisa e Extensão, Presidente Prudente, 22 a 25 de outubro, 2012 36 INTRODUÇÃO A CRIPTOGRAFIA RSA Rafael Lima Oliveira¹, Prof. Dr. Fernando Pereira de Souza². ¹CPTL/UFMS, Três Lagoas,

Leia mais

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings Capítulo 9 - Public Key Cryptography e RSA Cada egípicio recebia dois nomes que eram conhecidos respectivamente como o nome

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA OBJETIVO Conhecer aspectos básicos do uso da criptografia como instrumento da SIC.. Abelardo Vieira Cavalcante Filho Assistente Técnico

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação Autenticação Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Resumos de mensagem (hash) Algoritmo Hash são usados quando a autenticação é necessária, mas o sigilo,

Leia mais

Assinatura Digital: problema

Assinatura Digital: problema Assinatura Digital Assinatura Digital Assinatura Digital: problema A autenticidade de muitos documentos, é determinada pela presença de uma assinatura autorizada. Para que os sistemas de mensagens computacionais

Leia mais

UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE JUSSARA LICENCIATURA EM MATEMÁTICA ANA PAULA ALVES MACHADO DE LIMA

UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE JUSSARA LICENCIATURA EM MATEMÁTICA ANA PAULA ALVES MACHADO DE LIMA UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE JUSSARA LICENCIATURA EM MATEMÁTICA ANA PAULA ALVES MACHADO DE LIMA A HISTÓRIA DA CRIPTOGRAFIA E A APLICAÇÃO DE TEORIA DOS NÚMEROS EM CRIPTOGRAFIA

Leia mais

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

Leia mais

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1 Segurança na Web Cap. 4: Protocolos de Segurança Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW Page 1 é definido como um procedimento seguro para se regular a transmissão de dados entre computadores

Leia mais

Algoritmos criptográficos de chave pública

Algoritmos criptográficos de chave pública Algoritmos criptográficos de chave pública Histórico - A descoberta em 1976 por Diffie, Hellman e Merkle de algoritmos criptográficos assimétricos, onde a segurança se baseia nas dificuldades de 1. Deduzir

Leia mais

Criptografia e Chave Pública. Segurança da Informação

Criptografia e Chave Pública. Segurança da Informação Criptografia e Chave Pública Segurança da Informação Ementa Visão Global O que é? Criptografia está em todo lugar; Técnicas Primitivas de Cifragem; Outras técnicas de criptografia; Criptografia Moderna;

Leia mais

UFSM Introdução ao Dev-C++ Profa. Patrícia Pitthan. Introdução ao Dev-C++

UFSM Introdução ao Dev-C++ Profa. Patrícia Pitthan. Introdução ao Dev-C++ Introdução ao Dev-C++ O Dev-C++ oferece um ambiente que integra um editor de textos a um compilador para linguagem C. O compilador usado pelo Dev-C++ é o gcc (Gnu C Compiler). 1) Primeiro programa Para

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,

Leia mais

Título. Breve descrição da aula. Competência(s) desenvolvida(s) Conteúdo(s) desenvolvido(s).

Título. Breve descrição da aula. Competência(s) desenvolvida(s) Conteúdo(s) desenvolvido(s). Universidade Federal de Goiás Campus Catalão Alunos: Bruno Castilho Rosa Laura Thaís Lourenço Géssica Cristina dos Reis Lucas Borges de Faria Orientador: Igor Lima Seminário Semanal de Álgebra Notas de

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Segurança na Web. Programação para a Internet. Prof. Vilson Heck Junior

Segurança na Web. Programação para a Internet. Prof. Vilson Heck Junior Segurança na Web Programação para a Internet Prof. Vilson Heck Junior Males São inúmeros os males existentes no universo online: Vírus; Trojan; Spyware; Adware; Invasão; Keyloggers; Phishing; Golpes; Spam;

Leia mais

Criptografia fragilidades? GRIS-2011-A-003

Criptografia fragilidades? GRIS-2011-A-003 Universidade Federal do Rio de Janeiro Instituto de Matemática Departamento de Ciência da Computação Grupo de Resposta a Incidentes de Segurança Rio de Janeiro, RJ - Brasil Criptografia O que é, porque

Leia mais

Criptografia codificar dados em informações aparentemente sem sentido pessoas não consigam ter acesso às informações que foram cifradas

Criptografia codificar dados em informações aparentemente sem sentido pessoas não consigam ter acesso às informações que foram cifradas Criptografia Criptografia É o ato de codificar dados em informações aparentemente sem sentido, para que pessoas não consigam ter acesso às informações que foram cifradas. Há vários usos para a criptografia

Leia mais

Questionário de Estudo - P1 Criptografia

Questionário de Estudo - P1 Criptografia Questionário de Estudo - P1 Criptografia 1) A criptografia e a criptoanálise são dois ramos da criptologia. Qual a diferença entre essas duas artes? Enquanto a Criptografia é a arte de esconder dados e

Leia mais

Manual Signext Card Explorer

Manual Signext Card Explorer Índice 1. Gerenciador... 1 2. Editar... 4 3. Token... 7 4. Key Pair... 8 5. Certificado... 9 6. Sobre... 10 O Card Explorer é um software desenvolvido para que o usuário possa: gerar par de chaves, inserir/excluir

Leia mais

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA Charles F. de Barros 20 de novembro de 2008 Resumo Faremos uma breve introdução ao conceito de resíduos quadráticos, descrevendo em

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13 Índice 1. Circuitos Digitais - Continuação...3 1.1. Por que Binário?... 3 1.2. Conversão entre Bases... 3 2 1. CIRCUITOS DIGITAIS - CONTINUAÇÃO 1.1. POR QUE BINÁRIO?

Leia mais

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks:

1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks: Manual do Code::Blocks para o Windows XP, Vista e 7 Instalação: 1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks: http://prdownload.berlios.de/codeblocks/codeblocks-12.11mingw-setup.exe

Leia mais

Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais diferenciaram-se

Leia mais

CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA

CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA CONCEITOS MATEMÁTICOS ENVOLVIDOS NO FUNCIONAMENTO DA CRIPTOGRAFIA RSA Cristiane Moro 1 Raquel Cerbaro 2 Andréia Beatriz Schmid 3 Resumo: A criptografia visa garantir que somente pessoas autorizadas tenham

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Tutorial de instalação e configuração do utilitário de gerenciamento de chaves pública/privada, para criptografia de arquivos

Tutorial de instalação e configuração do utilitário de gerenciamento de chaves pública/privada, para criptografia de arquivos Tutorial de instalação e configuração do utilitário de gerenciamento de chaves pública/privada, para criptografia de arquivos Este tutorial visa explicar os procedimentos para a instalação do programa

Leia mais

Manual de Instalação e Configuração do Primeiro Backup Versão PRO

Manual de Instalação e Configuração do Primeiro Backup Versão PRO Manual de Instalação e Configuração do Primeiro Backup Versão PRO Instalação do gbackup Pro Para instalar o gbackup Pro em seu computador ou servidor, basta seguir as seguintes etapas: Após baixar a instalação

Leia mais

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua. 7 Animação Animações é um dos quesitos muito importantes em jogos, você não acha? Para isso o JPlay tem uma classe específica para lidar com animações. Essa classe se chama Animation. Bem sugestivo o nome

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

PROJETO INTEGRADOR. 5º PERÍODO Gestão da Tecnologia da Informação Noturno

PROJETO INTEGRADOR. 5º PERÍODO Gestão da Tecnologia da Informação Noturno FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR 5º PERÍODO Gestão da Tecnologia da Informação Noturno GOIÂNIA 2014-1 Sistemas de Gestão Empresarial Alunos: Alessandro Santos André de Deus Bruno

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

Leia mais

Auditoria e Segurança de Sistemas Aula 09 Criptografia. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Auditoria e Segurança de Sistemas Aula 09 Criptografia. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Auditoria e Segurança de Sistemas Aula 09 Criptografia Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Criptologia Esteganografia Criptografia Criptanálise Cifragem Chaves Assimétrica Chaves Simétrica

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Procedimento passo a passo para gerar o arquivo da Nota Fiscal Paulista utilizando o aplicativo da Bematech WINMFD2

Procedimento passo a passo para gerar o arquivo da Nota Fiscal Paulista utilizando o aplicativo da Bematech WINMFD2 BEMATECH 1 Procedimento passo a passo para gerar o arquivo da Nota utilizando o aplicativo da Bematech WINMFD2 Neste aplicativo, existem dois modos para gerar o arquivo corretamente. 1º Modo 1º Passo:

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

14.1 Vetor - Problemas

14.1 Vetor - Problemas Problema 14: Um método de Criptografia consiste em substituir as letras de uma mensagem através do emparelhamento de alfabetos tal como dado abaixo. Construir um programa que codifica mensagens usando

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) 1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo

Leia mais

UNIP UNIVERSIDADE PAULISTA

UNIP UNIVERSIDADE PAULISTA UNIP UNIVERSIDADE PAULISTA GERENCIAMENTO DE REDES Segurança Lógica e Física de Redes 2 Semestre de 2012 SEGURANÇA LÓGICA: Criptografia Firewall Protocolos Seguros IPSec SSL SEGURANÇA LÓGICA: Criptografia

Leia mais

Tutorial de Matlab Francesco Franco

Tutorial de Matlab Francesco Franco Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada

Leia mais

Notas de Cálculo Numérico

Notas de Cálculo Numérico Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo

Leia mais

Comandos Sequenciais if else, e Switch

Comandos Sequenciais if else, e Switch Introdução à Programação Comandos Sequenciais if else, e Switch 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) O computador pensa? Muitas vezes utiliza-se a

Leia mais

Manual RbCripto. Sobre o RbCripto. Requisitos. Estatísticas de exemplo. Criptografia assimétrica versus criptografia simétrica. Como usar o programa

Manual RbCripto. Sobre o RbCripto. Requisitos. Estatísticas de exemplo. Criptografia assimétrica versus criptografia simétrica. Como usar o programa Manual RbCripto Sobre o RbCripto O RbCripto é um programa simples que foi concebido com fins acadêmicos. É capaz de realizar a encriptação e decriptação de arquivos usando o moderno conceito de curvas

Leia mais

FTP Protocolo de Transferência de Arquivos

FTP Protocolo de Transferência de Arquivos FTP Protocolo de Transferência de Arquivos IFSC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO SUBSEQUENTE DE TELECOMUNICAÇÕES! Prof. Tomás Grimm FTP - Protocolo O protocolo FTP é o serviço padrão da Internet para

Leia mais

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

MC102 Algoritmos e programação de computadores Aula 3: Variáveis MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,

Leia mais

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Programação Estruturada Linguagem C Funções Matemáticas Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Funções de Potência Funções de Arredondamento Funções Trigonométricas

Leia mais

Manual de operação. BS Ponto Versão 5.1

Manual de operação. BS Ponto Versão 5.1 Manual de operação BS Ponto Versão 5.1 conteúdo 1. Instalação do sistema Instalando o BS Ponto Configurando o BS Ponto 2. Cadastrando usuários Cadastro do usuário Master Alterando a senha Master Cadastro

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

GERAÇÃO DE NOTA FISCAL PAULISTA BEMATECH RESTEQ RESOLVE TECNOLOGIA BEMATECH 1

GERAÇÃO DE NOTA FISCAL PAULISTA BEMATECH RESTEQ RESOLVE TECNOLOGIA BEMATECH 1 BEMATECH 1 Procedimento passo a passo para gerar o arquivo da Nota Fiscal Paulista utilizando o aplicativo da Bematech WINMFD2 Neste aplicativo, existem dois modos para gerar o arquivo corretamente. 1º

Leia mais

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1 Linguagem C: Estruturas de Controle Prof. Leonardo Barreto Campos 1 Sumário Estrutura de Controle e de Fluxo Comandos de Seleção: O comando if; Ifs Aninhados; A escada if-else-if; A expressão condicional;

Leia mais

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

INE5403 - Fundamentos de Matemática Discreta para a Computação INE5403 - Fundamentos de Matemática Discreta para a Computação 2) Fundamentos 2.1) Conjuntos e Sub-conjuntos 2.2) Números Inteiros 2.3) Funções 2.4) Seqüências e Somas 2.5) Crescimento de Funções Divisão

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia Introdução Atualmente no mundo internacional das redes e com o comércio eletrônico, todo sistema de computador se tornou um alvo em potencial para intrusos. O problema é que não há como saber os motivos

Leia mais

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas FM-0 1/21 ÍNDICE 1. MÓDULO DESKTOP(SISTEMA INSTALADO NO CIEE)... 2 Cadastro de Ofertas de Empregos:... 2 Cadastro de Eventos:... 3 Cadastro de Instituições do Curriculum:... 5 Cadastro de Cursos do Curriculum:...

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

Conexão rápida entre dois computadores em uma plataforma Linux

Conexão rápida entre dois computadores em uma plataforma Linux Conexão rápida entre dois computadores em uma plataforma Linux Algumas vezes, novos usuários de Linux acabam achando difícil transferir aquivos entre duas máquinas Linux em rede (no meu caso via cabo).

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em

Leia mais

Pagamento de Faturas

Pagamento de Faturas Pagamento de Faturas Aqui apresentamos o processo de pagamento de faturas da GFarias via boleto bancário e via cartão de crédito. É importante destacar que em ambos os casos a GFarias não tem contato algum

Leia mais

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

Leia mais

Configurações de Templates no SolidWorks 2011

Configurações de Templates no SolidWorks 2011 Configurações de Templates no SolidWorks 2011 Esse tutorial tem como intuito a criação de propriedades personalizadas, a criação destas propriedades é uma forma de automatizar o preenchimentos de informações

Leia mais

compreender a importância de cada estrutura de controle disponível na Linguagem C;

compreender a importância de cada estrutura de controle disponível na Linguagem C; Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em

Leia mais

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Definição de Programas de Computadores e Linguagem de Programação de Comutadores Definição de Programas de Computadores e Linguagem de Programação de Comutadores O computador é um equipamento eletrônico composto por circuitos eletrônicos, que trabalham com o estado ligado(1) e desligado(0),

Leia mais

Inventario de produtos

Inventario de produtos Inventario de produtos Parar o TAC. Gerar o inventario. Informações de erros na importação de produtos. Produtos sem código tributário associado. A posse de produtos no Thotau. Como corrigir as posses

Leia mais

CRIPTOGRAFIA: UMA APLICAÇÃO DA MATEMÁTICA DISCRETA ATRAVÉS DA IMPLEMENTAÇÃO DA CIFRA DE CÉSAR EM VISUALG

CRIPTOGRAFIA: UMA APLICAÇÃO DA MATEMÁTICA DISCRETA ATRAVÉS DA IMPLEMENTAÇÃO DA CIFRA DE CÉSAR EM VISUALG CRIPTOGRAFIA: UMA APLICAÇÃO DA MATEMÁTICA DISCRETA ATRAVÉS DA IMPLEMENTAÇÃO DA CIFRA DE CÉSAR EM VISUALG ENCRYPTION: AN APPLICATION OF DISCRETE MATHEMATICS THROUGH THE IMPLEMENTATION OF CAESAR CIPHER BY

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

8 8 (mod 17) e 3 34 = (3 17 ) 2 9 (mod 17). Daí que 2 67 + 3 34 8 + 9 0 (mod 17), o que significa que 2 67 + 3 34 é múltiplo de 17.

8 8 (mod 17) e 3 34 = (3 17 ) 2 9 (mod 17). Daí que 2 67 + 3 34 8 + 9 0 (mod 17), o que significa que 2 67 + 3 34 é múltiplo de 17. Prova Teoria de Números 23/04/203 Nome: RA: Escolha 5 questões.. Mostre que 2 67 + 3 34 é múltiplo de 7. Solução: Pelo teorema de Fermat 2 6 (mod 7 e 3 7 3 (mod 7. Portanto, 2 67 = 2 64+3 = ( 2 6 4 8 8

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Introdução à Programação Bacharelado em Sistemas de Informação 3ª Lista de Exercícios - Solução Procedimentos e Funções

Introdução à Programação Bacharelado em Sistemas de Informação 3ª Lista de Exercícios - Solução Procedimentos e Funções Nome Nota Seção 1: Procedimentos e funções 1. Faça uma função que receba um número inteiro e positivo N como parâmetro e retorne a soma dos N números inteiros existentes entre o número 1 e esse número.

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

Leia mais

PAINEL GERENCIADOR DE E-MAILS

PAINEL GERENCIADOR DE E-MAILS Este manual foi criado com o objetivo de facilitar o gerenciamento de suas contas de e-mail. Com ele, o administrador poderá criar e excluir e-mails, alterar senha, configurar redirecionamento de contas,

Leia mais

1. Sistemas de numeração

1. Sistemas de numeração 1. Sistemas de numeração Quando mencionamos sistemas de numeração estamos nos referindo à utilização de um sistema para representar uma numeração, ou seja, uma quantidade. Sistematizar algo seria organizar,

Leia mais

Como funciona a Solução NFC-e ifox. Iniciar a utilização da NFC-e

Como funciona a Solução NFC-e ifox. Iniciar a utilização da NFC-e Como funciona a Solução NFC-e ifox Nossa solução é composta por um programa centralizador que chamamos de Servidor de SAT/NFCe. Este programa é responsável pela comunicação com a SEFAZ diretamente no caso

Leia mais

1ª PARTE DIÁRIOS ELETRÔNICOS

1ª PARTE DIÁRIOS ELETRÔNICOS 1 1ª PARTE DIÁRIOS ELETRÔNICOS 1.ACESSANDO O SITE DA FEOL 1.1 Endereço do Site O endereço para acessar o site da Fundação Educacional de Oliveira é: www.feol.com.br Obs: experimente digitar apenas feol.com.br

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como

Leia mais

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais