Capítulo 1 — Cálculo I
Mapa da aula
Aula 01 publicada. Mapa, exemplo, EX001.
flowchart TD
N0["1.1 O caso e por que o crescimento importa"]
N1["1.2 Logaritmos domam números enormes"]
N2["Laboratório — Tempo de busca exaustiva"]
N3["1.3 Ler a estimativa"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX001"]
Desenho lógico
flowchart LR
N0["1.1 O caso e por que o crescimento importa"]
N1["1.2 Logaritmos domam números enormes"]
N2["Laboratório — Tempo de busca exaustiva"]
N3["1.3 Ler a estimativa"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX001"]
[1.1 O caso e por que o crescimento importa]
|
v
[1.2 Logaritmos domam números enormes]
|
v
[Laboratório — Tempo de busca exaustiva]
|
v
[1.3 Ler a estimativa]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX001]
Objetivos de aprendizagem
Você vai (1) ler taxas de crescimento como a linguagem da força criptográfica; (2) usar logaritmos para comparar quantidades enormes; (3) estimar o tempo de busca exaustiva para diferentes tamanhos de chave.
1.1 O caso e por que o crescimento importa
Aiyana Torres é estudante do primeiro ano de engenharia no fictício Halden Institute of Engineering. Ao longo de cinco anos, ela vai ajudar a fictícia Ridgeway Water Utility a projetar como seus 50.000 medidores inteligentes de água autenticam as leituras e aceitam atualizações de firmware, sob a mentoria do engenheiro da companhia Marcus Webb. Todos os medidores, chaves e números deste livro são sintéticos. O cálculo começa com taxas de variação, e a criptografia depende sobretudo de uma delas: a rapidez com que cresce o trabalho de adivinhar uma chave à medida que a chave fica mais longa. O crescimento linear soma uma quantidade fixa a cada passo; o crescimento exponencial multiplica. A busca de chaves é exponencial, e essa diferença explica por que alguns bits a mais protegem tanto.
1.2 Logaritmos domam números enormes
Uma chave de 128 bits tem 2^128 valores possíveis, cerca de 3,4 × 10^38, um número grande demais para imaginar. Os logaritmos transformam multiplicação em soma: log10(2^128) = 128 × log10(2), aproximadamente 38,5. Aiyana aprende a comparar níveis de segurança comparando expoentes, e não os números brutos. A derivada de 2^x é ln(2) × 2^x, de modo que a própria taxa de crescimento é proporcional ao tamanho atual, a marca do comportamento exponencial. Quando os engenheiros dizem que um tamanho de chave oferece "segurança de 128 bits", querem dizer que um atacante precisa de trabalho da ordem de 2^128 operações, e Katz e Lindell usam a mesma convenção ao definir a segurança concreta.
Laboratório — Tempo de busca exaustiva
"""Exhaustive-search time for key lengths at a hypothetical 10^12 guesses per second (synthetic rate)."""
import math
RATE = 10**12
YEAR = 365.25 * 24 * 3600
def main():
for bits in (40, 56, 80, 128):
years = 2 ** (bits - 1) / RATE / YEAR # expected half the space
print(f"{bits:>3}-bit key: log10(years) = {math.log10(years):6.2f}")
print(f"each extra bit multiplies work by {2 ** 1}; 10 extra bits by {2 ** 10}")
if __name__ == "__main__":
main()
Execute com python3 lab_keyspace.py. Saída verificada:
40-bit key: log10(years) = -7.76
56-bit key: log10(years) = -2.94
80-bit key: log10(years) = 4.28
128-bit key: log10(years) = 18.73
each extra bit multiplies work by 2; 10 extra bits by 1024
1.3 Ler a estimativa
A uma taxa hipotética de um trilhão de tentativas por segundo, uma chave de 40 bits cai numa fração de segundo (log10 dos anos em torno de -7,8), e uma chave de 56 bits, o tamanho da cifra DES, já aposentada, em cerca de um dia (log10 em torno de -2,9). Uma chave de 80 bits exige por volta de dezenove mil anos, e uma de 128 bits, cerca de 10^18,7 anos, muito mais do que a idade do universo. Cada bit a mais dobra o trabalho, e dez bits a mais o multiplicam por 1.024. Aiyana anota que a taxa é inventada e que os atacantes reais melhoram, e é por isso que normas como o AES do FIPS 197 começam em 128 bits, e não no limite do viável.
Exemplo resolvido
Aiyana tabula os tempos de busca para 40, 56, 80 e 128 bits, compara-os por seus logaritmos de base 10 e recomenda que a Ridgeway nunca aceite chaves de medidor abaixo de 128 bits.
Caso sintético. A Ridgeway, seus medidores e a taxa de tentativas são inventados; o FIPS 197 é a norma real do AES.
Erros e limites
A busca exaustiva é apenas um ataque; uma chave longa não ajuda se for mal armazenada ou gerada a partir de uma fonte aleatória fraca. Estimativas logarítmicas são ordens de grandeza, não cronogramas.
Exercícios
-
EX001 — Exponencial versus linear. Por que a busca de chaves é descrita como exponencial, e não linear, no tamanho da chave? Rubrica: 3 = cada bit a mais dobra o número de chaves, então o trabalho se multiplica;; 2 = "cresce rápido";; 1 = resposta linear;; 0 = nenhuma.
-
EX002 — Logaritmos da busca de chaves. Usando o laboratório, dê o logaritmo de base 10 dos anos esperados para chaves de 56 e de 128 bits. Rubrica: 3 = cerca de -2,94 e 18,73;; 2 = um certo;; 1 = sinal errado;; 0 = nenhuma.
-
EX003 — Por que começar em 128. Por que Aiyana recomenda chaves de pelo menos 128 bits para os medidores? Rubrica: 3 = o trabalho esperado de 2^127 é inviável com margem; coincide com o mínimo do FIPS 197;; 2 = "mais seguro";; 1 = 56 bits bastam;; 0 = nenhuma.
Síntese
O cálculo dá aos engenheiros o vocabulário do crescimento; espaços de chaves exponenciais, comparados por meio de logaritmos, explicam por que as chaves modernas começam em 128 bits.
Continue estudando — aula 01 (capítulo 01 de 50)
← Início do curso · Índice das aulas · Capítulo 02 →
Continue para a próxima aula já escrita.