-
No segmento anterior falamos sobre inversão modular e nós dissemos a Euclides
-
algoritmo nos dá uma maneira eficiente de encontrar o inverso de um elemento módulo N.
-
Neste segmento vamos encaminhar através do tempo e vamos passar para
-
o século XVII e XVIII, onde nós estamos indo falar sobre
-
Fermat e contribuições de Euler. Antes disso vamos fazer uma rápida revisão de
-
o que discutimos no segmento anterior. Então, como de costume, eu vou deixar N denotar o
-
inteiro positivo e vamos apenas dizer que N passa a ser um número inteiro de n bits, em outro
-
palavras, entre duas a n e dois para o n +1, como de costume vamos deixar que P
-
denotar um primo. Agora dissemos que ZN é um conjunto de números inteiros de zero
-
para N-1 e nós dissemos que podemos somar e multiplicar elementos no conjunto de módulo N. Nós
-
também disse que ZN estrela é basicamente o conjunto de elementos invertíveis em ZN. E nós
-
provou um lema simples dizer que, X é inversível se e somente se X é relativamente
-
privilegiada para N. E não só nós entendemos completamente quais são os elementos
-
e invertíveis que não são, também mostraram um algoritmo muito eficiente com base no
-
algoritmo estendido de Euclides, para encontrar o inverso de um elemento X na ZN. E nós dissemos
-
que o tempo de execução deste algoritmo, é basicamente ordem n quadrado, onde
-
novamente, n é o número de bits do número de capital N. Assim como disse, agora
-
vamos passar de tempos dos gregos até o fim do século XVII e
-
falar de Fermat. Assim, Fermat fez uma série de teoremas importantes. O que eu quero
-
para mostrar aqui hoje é o seguinte. Então, suponhamos que eu lhe dou um p primo, então em
-
fato, para qualquer elemento X em ZP estrela, acontece que se eu olhar para X e elevá-la
-
para o poder da P - 1, eu sou um vai pegar um, na ZP. Então, vamos olhar para uma rápida
-
exemplo. Suponha que eu definir o número de P a ser cinco. E eu olhar, três para o poder de
-
P-1. Em outras palavras, três à potência de quatro, três à potência de quatro é de 81,
-
que, na verdade, é um modulo cinco. Este exemplo satisfaz o teorema de Fermat.
-
Curiosamente, Fermat, na verdade não provar este teorema si mesmo. A prova
-
realmente esperou até Euler, que provou que quase 100 anos depois. E em
-
verdade, ele provou ser uma versão muito mais geral deste teorema. Então, vamos olhar para
-
uma aplicação simples do teorema de Fermat. Suponha que eu olhar para um elemento X em ZP
-
estrela. E eu quero lembrar aqui que P [inaudível] deve ser um primo. Bem, então o que nós
-
sabe? Sabemos que X para o P menos um é igual a um. Bem, podemos escrever X para o
-
P menos um de X vezes X para o poder de P menos dois. Bem agora que sabemos que X
-
vezes X para o poder de P menos dois acontece ser igual a um. E o que isso
-
diz, é que realmente o inverso do modulo X P, é simplesmente X para o P menos dois.
-
Então isso nos dá um outro algoritmo para encontrar o inverso de X modulo um primo.
-
Basta levantar o X para o poder de p menos dois, e que nos dará o inverso da
-
x. Acontece que, na verdade, esta é uma boa maneira de calcular o inverso modulo um primo.
-
Mas tem duas deficiências em comparação com o algoritmo de Euclides. Em primeiro lugar, ela só
-
primos obras modulo, Considerando que, o algoritmo de Euclides trabalhou modulo compósitos como
-
bem. E em segundo lugar, verifica-se este algoritmo é na verdade menos eficiente. Quando
-
falamos sobre como fazer exponenciações modulares - nós estamos indo fazer isso em
-
o último segmento neste módulo - você verá que o tempo de execução para computar este
-
exponenciação é realmente cúbico no tamanho P. Então, isso vai levar cerca de login
-
cubo de P, enquanto que se você se lembra, o algoritmo de Euclides foi capaz de calcular a
-
inversa no tempo quadrático na representação de P. Então não é só isso
-
algoritmo menos geral, funciona apenas para números primos, que também é menos eficiente. Então pontuação
-
um para Euclides. Mas, no entanto, este fato sobre números primos é extremamente importante,
-
e nós vamos estar fazendo uso extensivo de que no próximo par de semanas. Então deixe-me
-
mostrar-lhe uma aplicação rápida e simples para o teorema de Fermat vamos supor que queremos
-
para gerar um primeiro grande acaso, dizer que a nossa principal precisava ser 1.000 bits ou mais. Assim
-
principal o que estamos procurando é da ordem de dois para o 1024 [inaudível]. Então aqui está
-
um algoritmo muito simples probabilística. O que nós fazemos é que escolher um
-
inteiro aleatório no intervalo que foi especificado. E então poderíamos testar se
-
inteiro ele satisfaz o teorema de Fermat. Em outras palavras, seria testar por exemplo
-
utilizando a base dois, iríamos testar se os dois para o poder de p menos um é igual a um
-
em Z p. Se a resposta for não, então se essa igualdade não existe, então sabemos para
-
certeza de que o número p que escolhemos não é primo. E se isso acontecer, todos nós
-
fazemos é voltar a um passo e procuramos outro primo. E fazemos isso de novo e
-
novo e de novo, até que finalmente encontramos um número inteiro que satisfaz essa condição. E
-
uma vez que encontramos um número inteiro que satisfaz essa condição, simplesmente imprimir-lo e
-
de paragem. Agora se vê, esta é realmente uma declaração bastante difícil de provar. Mas
-
acontece se um número aleatório passar este teste, então é extremamente provável que
-
ser um primo. Em particular, a probabilidade de que P não é um número primo é muito pequena. É
-
como menos de dois para a -60 para a gama de números de 1024 bits. À medida que o
-
número fica maior e maior a probabilidade de que ele passa este teste aqui,
-
mas não é algumas gotas prime para zero muito rapidamente. Portanto, este é realmente um grande
-
algoritmo interessante. Você percebe que não está garantido que a saída é na verdade
-
um primo. Tudo o que sabemos é que ele é muito, muito provável que seja um primo. Em outras palavras
-
, a única maneira que não é um número primo é que temos muito azar. Na verdade isso
-
sorte que um evento de probabilidade negligenciável aconteceu. Outra forma de dizer
-
isto é que se você olhar para o conjunto de todos os 1024 números inteiros, então, bem, há o conjunto
-
dos números primos. Deixe-me escrever aqui primeiro. E depois há um pequeno número de
-
compósitos. Isso realmente vai falsificar o teste. Vamos chamá-los F para falsos primos.
-
Vamos chamá-los de FP, para primos falsos. Há um número muito pequeno de compósitos
-
que não são primos e ainda vai passar este teste. Mas, como escolher inteiros aleatórios,
-
você sabe, nós escolhemos um aqui, outro aqui, um aqui, e assim por diante, como escolher aleatoriamente
-
inteiros, a probabilidade de que caem dentro do conjunto de números primos falsos é tão pequena
-
Isso é, essencialmente, um acontecimento insignificante que podemos ignorar. Em outras palavras, uma
-
pode provar que o conjunto dos números primos falsas é extremamente pequena, e uma escolha aleatória é
-
improvável que tal escolher primeiro um falso. Agora eu devo mencionar, na verdade, isso é muito
-
algoritmo simples para gerar primos. É, na verdade, de longe, não é o melhor
-
algoritmo. Temos algoritmos muito melhores agora. E, de fato, uma vez que você tem um
-
principal candidato, agora temos algoritmos muito eficientes que realmente
-
provar além de qualquer dúvida que este nobre candidato realmente é um primo. Então, nós nem sequer
-
tem que confiar nas afirmações probabilísticas. Mas, no entanto, este teste é tão Fermat
-
simples, que eu só queria mostrar-lhe que é uma maneira fácil de gerar números primos.
-
Embora, na realidade, não é assim que números primos são gerados. Como último ponto,
-
eu vou dizer que você deve estar se perguntando quantas vezes esta iteração tem de repetir
-
até realmente encontrar o primo. E isso é realmente um resultado clássico, é
-
chamado teorema do número primo, que diz que, depois de algumas centenas de iterações,
-
na verdade, nós vamos encontrar o primeiro com alta probabilidade. Assim, na expectativa, seria
-
esperar algumas centenas de iterações e nada mais. Agora que entendemos
-
teorema de Fermat, a próxima coisa que eu quero falar é sobre o que é chamado a
-
estrutura de ZP estrela. Então, aqui, nós vamos passar de 100 anos no futuro ...
-
no século XVIII e olhar para o trabalho de Euler. E um dos primeiros
-
coisas Euler mostrou é em linguagem moderna é que ZP estrela é o que chamamos de
-
grupo cíclico. O que significa que ZP estrela é um grupo cíclico? O que significa é
-
que existe algum elemento em G ZP estrela, de tal forma que se tomarmos G e aumentar a
-
um monte de poderes G, G quadrado, ao cubo G, G para o quarto. E assim por diante e assim por diante até
-
até chegarmos ao G P menos dois. Observe que não há ponto de ir além G
-
ao menos duas p, porque G para o p menos um pelo teorema de Fermat é igual para
-
um, por isso, então vamos voltar ao ciclo de um. Se voltarmos ao G ao menos um p, então G
-
para a p será igual a G, G para o p, mais uma será igual a G quadrado, e
-
assim por diante e assim por diante. Então, nós vamos realmente começar um ciclo se continuarmos elevando para mais e
-
poderes superiores de G. Assim, poderíamos muito bem parar no poder do G para a p menos dois.
-
E que Euler mostrou é que na verdade não é um elemento G de tal forma que se você
-
olhada em todos os seus poderes de todos os seus poderes expandir o Estrela ZP todo o grupo.
-
Os poderes do G nos dá todos os elementos em ZP estrela. Os elementos deste, deste tipo de
-
é chamado um gerador. Então G seria dito ser um gerador de ZP estrela. Então, vamos
-
olhar para um exemplo rápido. Então, vamos olhar, por exemplo, em P é igual a sete. E vamos
-
olhada em todos os poderes de três. Então, três três cubos quadrado, três para o quarto,
-
três ao quinto, três a seis, já se sabe, é igual a um modular
-
sete pelo Teorema de Fermat. Então não há nenhum ponto em olhar para três a seis. Nós
-
sabemos que só iria começar um. Então aqui, eu calculei todos esses poderes para você, e eu
-
escreveu-los. E você vê que, na verdade, nós temos todos os números [inaudível] em Z,
-
em Z7 estrela. Em outras palavras, obtemos um, dois, três, quatro, cinco, seis e. Assim
-
diríamos que três é um gerador de Z7 estrela. Agora gostaria de salientar que não
-
cada elemento é um gerador. Por exemplo, se olharmos para todas as potências de dois, bem,
-
isso não vai gerar todo o grupo. Em particular, se olharmos para dois a
-
zero a, obtemos um. Dois a um, temos dois. Dois ao quadrado é quatro, e duas
-
ao cubo é de oito, que é um sete modular. Assim pedalamos de volta e, em seguida, dois a
-
quarta seria dois, dois para o quinto seria quatro. E assim por diante e assim por diante. Assim
-
, se olharmos para os poderes dos dois, é só pegar um, dois e quatro. Nós não temos a
-
grupo todo e, portanto, dizemos que dois não é um gerador de Z7 estrela. Agora, novamente,
-
algo que nós vamos usar muitas vezes é dado um elemento de G * ZP, se olharmos para um
-
conjunto de todos os poderes de G, o conjunto resultante vai ser chamado o grupo gerado por
-
G, ok? Então, esses são todos os poderes de G. Eles dão-nos o que é chamado de
-
grupo multiplicativo. Mais uma vez, o termo técnico não importa. O ponto é que estamos
-
vai chamar todos estes poderes de G, o grupo gerado por G. De fato há essa
-
notação que eu não uso com muita frequência, ângulo ângulo G, para designar esse grupo que é
-
gerada por G. E então nós chamamos a ordem de G em Z p estrela, simplesmente deixe que seja
-
do tamanho do grupo que é gerado por G. Assim, em outras palavras, a ordem de G em Z
-
p estrela é o tamanho deste grupo. Mas outra maneira de pensar sobre o que é
-
basicamente é o menor número inteiro Um tal que G para o A é igual a um no Z P.
-
razoável, é basicamente o menor de energia que faz com que o poder de G para ser igual à
-
um. E é muito fácil ver que essa igualdade aqui, basicamente, se olharmos para todos
-
os poderes de G e olhamos para um, G, G quadrado, G em cubos e assim por diante e assim por diante até
-
até chegarmos ao G com a ordem de G menos um. E então se olharmos para a ordem de G
-
com a ordem de G. Esta coisa é simplesmente vai ser igual a um, por definição.
-
Ok, então não há nenhum ponto em olhar todas as potências mais elevadas. Nós pode muito bem
-
parar de aumentar os poderes aqui. E, como resultado do tamanho do conjunto, na verdade, é
-
a ordem de G. E você pode ver que a ordem é o menor poder de tal forma que
-
G elevando para que o poder dá-nos um em Z p. Então eu espero que isso está claro, embora
-
pode levar um pouco de pensar para absorver toda esta notação. Mas no
-
Enquanto isso vamos olhar para alguns exemplos. Então, novamente, vamos fixar a nossa, a nossa principal a ser
-
sete. E vamos olhar para a ordem do número de elementos. Então, qual é a ordem
-
de três módulo de sete? Bem, nós estamos perguntando o que é o tamanho do grupo que
-
três gera módulo de sete? Bem, nós dissemos que três é um gerador de Z7 estrela.
-
Então ele gera todos Z7 estrela. Há seis elementos em Z7 estrela. E, portanto,
-
dizer que a ordem de três é igual a seis. Da mesma forma, eu posso perguntar, bem, o que é
-
fim de dois modulo sete? E, de fato, já vimos a resposta. Então vamos,
-
eu vou lhe perguntar, qual é a ordem de dois modulo sete e veja se você consegue f igura
-
o que esta resposta é. Portanto, a resposta é de três e mais uma vez, a razão é, se olharmos
-
no conjunto de potências de dois modulo sete, temos um, dois, dois quadrado e, em seguida
-
cubado dois já é igual a um. Portanto, este é todo o conjunto de potências de dois modulo
-
sete. Existem apenas três deles e, portanto, da ordem de dois modulo sete
-
é exatamente três. Agora deixe-me lhe fazer uma pergunta capciosa. Qual é a ordem de um
-
modulo sete? Bem, a resposta é uma só. Porque se você olhar para o grupo que é
-
gerada por um, bem, há apenas um número em que o grupo, ou seja, o número
-
um. Se eu levantar um a um monte de poderes, eu sempre vou ter um, E
-
, portanto, a ordem de 1 modulo 7 Na verdade, a ordem de 1 modulo qualquer injeção
-
é sempre vai ser 1. Agora há um importante teorema de Lagrange, que
-
realmente este é um caso muito, muito especial dele, o que estou afirmando aqui. Mas
-
teorema de Langrage basicamente implica que, se você olhar para a ordem de G módulo p,
-
ordem sempre vai dividir P-1. Assim, em nosso exemplo dois você vê,
-
seis divide sete menos um, seis divide seis, e, similarmente, três divide sete
-
menos um. Nomeadamente novamente três divide seis. Mas isso é muito geral, o seu fim é
-
sempre vai ser um fator de P menos um. Na verdade, eu vou te dizer, talvez seja uma
-
quebra-cabeças para você pensar. É realmente muito fácil deduzir de Fermat
-
teorema directamente a partir deste fato, a partir do teorema de Lagrange esta de fato. E assim
-
teorema de Fermat realmente em certo sentido, segue-se diretamente do teorema de Lagrange.
-
Lagrange, a propósito, que o seu trabalho no século XIX, assim você já pode ver
-
como estamos a fazer progressos ao longo do tempo. Começamos em tempos gregos, e já que
-
acabou no século XIX. E eu posso te dizer que a criptografia mais avançada
-
realmente usa a matemática do século XX é bastante extensa. Agora que entendemos o
-
estrutura de ZP estrela, vamos generalizar que a compósitos, e olhar para o
-
estrutura da ZN estrela. Então o que eu quero mostrar aqui é que é chamado Teorema de Euler
-
, que é uma, uma generalização direta do Teorema de Fermat. Assim, Euler definido o
-
seguinte função. Portanto, dado um número inteiro N, ele definiu o que é chamado de phi
-
função, phi de M, a ser basicamente o tamanho do conjunto ZN estrela.
-
Isso às vezes é chamado, a função de Euler phi. O tamanho do conjunto ZN estrela. Assim
-
por exemplo, que já olhou Z estrela de doze. Dissemos que Z contém 12 estrelas
-
estes quatro elementos, um, cinco, sete e onze anos. E por isso dizemos que phi de
-
12 é simplesmente o número quatro. Então deixe-me perguntar-lhe como um quebra-cabeça, o que é phi de P?
-
Ela vai ser basicamente o tamanho de ZP estrela. E assim, de fato, dissemos que na ZP
-
estrela contém todos ZP, exceto para o número zero. E, portanto, phi de P para
-
qualquer P principal vai ser P menos um. Agora, há um caso especial, que eu vou
-
estado aqui e nós vamos usar mais tarde para o sistema RSA. Se N passa a ser um
-
produto de dois primos, então phi de N é simplesmente menos N P Q menos mais um. E deixe-
-
me mostrar por que isso é verdade. Então, basicamente, N é o tamanho do Z N. E agora nós
-
necessário remover todos os elementos que não são relativamente primos com m. Bem como pode um
-
elemento não ser relativamente primos para m? Tem que ser divisível por p, ou que tem que ser
-
divisível por q. Bem, como muitos elementos entre zero e menos um m estão lá,
-
lá que são divisíveis por p? Bem, existem exatamente q deles. Quantos elementos
-
existem que são divisíveis por q. Bem, existem exatamente p deles. Então, nós
-
subtrair p se livrar daqueles divisível por q. Nós subtrair q se livrar daqueles
-
divisível por p. E você percebe que subtraído de zero duas vezes, porque zero é
-
divisível tanto por P e Q. E, portanto, nós adicionamos um apenas para ter certeza de que subtrair
-
zero apenas uma vez. E por isso não é difícil ver que phi (N) é NP-Q +1. E uma outra maneira
-
de escrita que é simplesmente (P-1) vezes (Q-1). Ok, então isso é um fato que usaremos mais tarde
-
, quando voltamos e falar sobre o sistema RSA. Até agora, esta é apenas a definição de
-
esta função phi de Euler. Mas agora Euler colocar esta função phi de uso muito bom.
-
E o que ele provou este fato maravilhoso aqui que diz basicamente que se você der
-
me qualquer elemento X na ZN estrela. Na verdade, e acontece que X ao poder de phi (N)
-
é igual a um em Z N. Assim, você pode ver que isso é uma generalização de Fermat
-
teorema, em particular, o teorema de Fermat só é aplicado a números primos. Para primos que conhecemos
-
que phi (p) é igual a p menos um, e, em outras palavras, se fosse primeiro-N faríamos
-
simplesmente escrever p menos um aqui, e então nós teríamos exatamente o teorema de Fermat. O
-
beleza do teorema de Euler é que se aplica a materiais compósitos, e não apenas
-
primos. Então, vamos olhar para alguns exemplos. Então, vamos olhar para cinco o poder de phi (12).
-
Assim, cinco é um elemento de Z12 estrela. Se aumentá-lo para o poder de cinco dos
-
12, que deve estar recebendo uma. Bem, sabemos que phi (12) é de 4, então estamos
-
levantando 5 à potência de 4. Cinco para o poder de quatro é de 625 e é um simples
-
cálculo para mostrar que isso é igual a 1 módulo 12. Então esta é a prova
-
por exemplo, mas é claro que não é uma prova em tudo. É apenas um exemplo. Mas, na verdade
-
não é difícil de provar o teorema de Euler e na verdade eu vou dizer-lhe que
-
teorema de Euler é também um caso muito especial do teorema geral de Lagrange.
-
Ok então dizemos que esta é uma generalização do teorema de Fermat e
-
, de fato, como veremos este teorema de Euler é a base da criptografia RSA
-
sistema. Então eu parar por aqui e vamos continuar com modulares equações quadráticas na
-
próximo segmento.