Docs / Base de Conhecimento / Criptografia
Base de Conhecimento
Conteúdo
- Em resumo
- Referências online (verificadas)
- Instantâneos offline (proteção contra links quebrados)
- Aplicações na Keyne Digital Assets
- Código Bitcoin
- 1. Simplicidade Elegante e Minimalismo
- 2. Tolerância a faltas bizantinas
- 3. Engenharia Econômica (Aula Masterclass em Teoria de Jogos)
- 4. Modelo de Segurança Imaculado
- 5. Design Incompatível para Futuro
- 6. Bootstrapping Decentralizado
- 7. Código Que Mudou a História
- Resumo: Por Que É Brilhante
- O Problema do Duplicidade
- Solução da Bitcoin: Consenso Nakamoto
- Situações de Ataque de Duplicação e Porquê Eles Falham
- Como as Confirmações Previnem o Duplicatação de Pagamentos
- Matemática: Probabilidade de Sucesso em Duplicatação de Pagamentos
- Por Que Funciona: Finalidade Econômica
- Prova Real-World
- TL;DR: Como o Dúo-Spend é Resolvido
- Exploração
- 📝 Passo 1: Escolha de Dois Números Primos
- 🔢 Step 2: Compute the Public Key
- 🔢 Step 3: Compute the Private Key
- 🔢 Step 4: Encrypt the Message
- 🔢 Step 5: Decrypt the Message
- 🔢 Step 6: Convert the Number Back to the Original Message
- 🔢 Step 7: Verify the Decryption
- 🔢 Step 8: Convert the Number Back to the Original Message
- 🔢 Step 10: Convert the Number Back to the Original Message
- 🔢 Step 12: Convert the Number Back to the Original Message
- 🔢 Step 14: Convert the Number Back to the Original Message
- 🔢 Step 16: Convert the Number Back to the Original Message
- 🔢 Step 18: Convert the Number Back to the Original Message
- 🔢 Step 20: Convert the Number Back to the Original Message
- 🔢 Step 22: Convert the Number Back to the Original Message
- 🔢 Step 24: Convert the Number Back to the Original Message
- 🔢 Step 26: Convert the Number Back to the Original Message
- 🔢 Step 28: Convert the Number Back to the Original Message
- 🔢 Step 30: Convert the Number Back to the Original Message
- 🔢 Step 32: Convert the Number Back to the Original Message
- 🔢 Step 34: Convert the Number Back to the Original Message
- 🔢 Step 36: Convert the Number Back to the Original Message
- 🔢 Step 38: Convert the Number Back to the Original Message
- 🔢 Step 40: Convert the Number Back to the Original Message
- 🔢 Step 42: Convert the Number Back to the Original Message
- 🔢 Step 44: Convert the Number Back to the Original Message
- 🔢 Step 46: Convert the Number Back to the Original Message
- 🔢 Step 48: Convert the Number Back to the Original Message
- 🔢 Step 50: Convert the Number Back to the Original Message
- 🔢 Step 52: Convert the Number Back to the Original Message
- 🔢 Step 54: Convert the Number Back to the Original Message
- 🔢 Step 56: Convert the Number Back to the Original Message
- 🔢 Step 58: Convert the Number Back to the Original Message
- 🔢 Step 60: Convert the Number Back to the Original Message
- 🔢 Step 62: Convert the Number Back to the Original Message
- 🔢 Step 64: Convert the Number Back to the Original Message
- 🔢 Step 66: Convert the Number Back to the Original Message
- 🔢 Step 68: Convert the Number Back to the Original Message
- 🔢 Step 70: Convert the Number Back to the Original Message
- 🔢 Step 72: Convert the Number Back to the Original Message
- 🔢 Step 74: Convert the Number Back to the Original Message
- 🔢 Step 76: Convert the Number Back to the Original Message
- 🔢 Step 78: Convert the Number Back to the Original Message
- 🔢 Step 80: Convert the Number Back to the Original Message
- 🔢 Step 82: Convert the Number Back to the Original Message
- 🔢 Step 84: Convert the Number Back to the Original Message
- 🔢 Step 86: Convert the Number Back to the Original Message
- 🔢 Step 88: Convert the Number Back to the Original Message
- 🔢 Step 90: Convert the Number Back to the Original Message
- 🔢 Step 92: Convert the Number Back to the Original Message
- 🔢 Step 94: Convert the Number Back to the Original Message
- 🔢 Step 96: Convert the Number Back to the Original Message
- 🔢 Step 97: Verify the Decryption
- Subjuntos relacionados
- 1. Geometria vs. Álgebra
- 2. Decomposição e Recursão
- 3. Relationship via Pythagorean Triples and the Euclidean Algorithm
- 4. Perspectiva de Teoria dos Números
- Conclusão
- Índice da parte
Criptografia
Parte: Playbooks · Capítulo: Playbook: Criptografia · Edição: 2026-07-12
Palavras-chave: criptografia operacional, protocolos, modelos de riscos, checklists
Glossário:TLS,gestão de chaves,modelos de riscos— veja GLOSSÁRIO
Em resumo
- Esta é uma referência operacional: aplicar primitivas criptográficas sob um modelo de ameaça real.
- Prefira protocolos bem estudados (TLS, AEAD) a desenhos sob medida.
- As notas abaixo são orientação, não aconselhamento para atacar ou implantar um sistema.
Referências online (verificadas)
Instantâneos offline (proteção contra links quebrados)
Instantâneo offline omitido nesta edição web. Instantâneo offline · Cryptography · https://en.wikipedia.org/wiki/Cryptography · recuperado em 2026-07-12
Instantâneo offline omitido nesta edição web. Instantâneo offline · Transport Layer Security · https://en.wikipedia.org/wiki/Transport_Layer_Security · recuperado em 2026-07-12
Este playbook reúne notas operacionais e históricas sobre primitivas criptográficas, protocolos e construções de teoria dos números correlatas. Prefira projetos bem estudados (TLS, AEAD, assinaturas estabelecidas) a esquemas sob medida. O material é orientação, não aconselhamento para construir, implantar ou quebrar sistemas, e não substitui um modelo de ameaça.
Aplicações na Keyne Digital Assets
Integridade, autenticação e higiene de chaves importam em qualquer sistema que publica ou armazena conhecimento. Usamos este capítulo para permanecer alinhados à prática estabelecida quando raciocinamos sobre essas propriedades no Situation Monitor e no software que construímos. Não documentamos segredos operacionais aqui, e não fornecemos procedimentos de ataque.
Instantâneo offline omitido nesta edição web.
Ancient of Days[a] é um nome para Deus no Livro de Daniel. O título “Ancient of Days” tem sido usado como fonte de inspiração em arte e música, denotando as características do criador de eternidade combinadas com perfeição. William Blake’s watercolour and relief etching entitled The Ancient of Days é uma dessas exemplos.
Código Bitcoin
O código Bitcoin (a implementação original do Satoshi Nakamoto no Bitcoin Core) é amplamente chamado de “brilhante” por várias razões técnicas, econômicas e filosóficas profundas. Aqui está uma análise da por quê é considerado um marco da engenharia de software e design de sistemas:
1. Simplicidade Elegante e Minimalismo
Embora tenha resolvido um problema extremamente complexo (dinheiro digital descentralizado sem partes confiáveis), o protocolo de fundo é extremamente simples.
* **Só 30.000 linhas de C++** no código original.
* Usa **primitivos bem entendidos**:
* Hashing (SHA-256)
* Digital signatures (ECDSA)
* Merkle trees
* Proof-of-Work (PoW)
* Não há funcionalidades desnecessárias. Satoshi evitou a bloat e focou em **um único objetivo**: um sistema de dinheiro eletrônico peer-to-peer.
> _“Se não for necessário, não deve estar lá.”_ – O código reflete disciplina extremamente elevada.
---
2. Tolerância a faltas bizantinas
Bitcoin resolve o Problema dos Generais Byzantinos em uma rede aberta e sem autorização.
- Os nós não confiam uns nos outros.
- Não há um coordenador central.
- No entanto, eles chegam a consenso em uma única história de transações.
- Isso era anteriormente considerado impossível em escala de internet sem partes confiáveis.
Consenso Nakamoto = prova de trabalho + regra da cadeia mais longa → Segurança alinhada com incentivos.
O problema dos Generais Byzântinos é um problema teórico de teoria dos jogos que descreve como sistemas descentralizados podem chegar a consenso quando alguns participantes podem ser inofensivos ou maliciosos. Na analogia, múltiplos generais cercam uma cidade e precisam decidir se atacar ou se retirar. Se eles coordenarem um ataque simultâneo, eles ganham; se eles atacarem em diferentes momentos, eles são derrotados. O desafio é que sua comunicação é inofensiva, e alguns generais podem ser traidores que podem enviar informações falsas para sabotar o plano. Você pode assistir a este vídeo para aprender como o problema dos Generais Byzântinos se aplica a:
Instantâneo offline omitido nesta edição web.
O cenário problema
- O Objetivo: Generais devem concordar em uma ação coordenada (por exemplo, atacar) para serem bem-sucedidos.
- A Comunicação: Generais se comunicam enviando mensageiros entre si.
- O Obstacle:
- Mensageiros Indisponíveis: Os mensageiros podem ser interceptados, demorados ou perdidos.
- Generais Traídos: Alguns generais são “traidores” que enviarão mensagens falsas ou contraditórias para interromper o plano.
- O Desafio: Como os generais fiéis chegarão a um acordo seguro sem saber se os generais são traídos ou se as mensagens foram adulteradas?
Relevância para ciência da computação
- Este problema é fundamental para o computação distribuída, especialmente em sistemas descentralizados como cryptocurrencies.
- Em um sistema descentralizado, não há uma autoridade central a ser confiada.
- No
Desafio é criar um sistema onde todos os participantes possam concordar com o estado real das coisas, mesmo que alguns participantes sejam falhosos ou maliciosos (conhecidos como falhas Byzantinas) (referência: Falhas Byzantinas).
- Sistemas que podem resolver
Este problema é considerado Fault Tolerant de Falha Byzantina (BFT).
Exemplos de como este problema é abordado incluem a mecha de consenso por prova de trabalho do Bitcoin.
a_esv=f517df8b24517ced\&sxsrf=AE3TifMeS5vlI1u4tSIUyc2yzjV7H0HwPw%3A1763173314486\&q=Proof-of-Work+consensus+mechanism\&sa=X\&sqi=2\&ved=2ahUKEwjZmtm4jPOQAxVzILkGHeyOKqUQxccNegUIpgEQAQ\&mstk=AUtExfD4Dg8Wj4uF_x-5A4zGV_-eDOy_VbJjUrPHHm7SPud13FNB61OUs84DgWmtJtGYZR_8KNaMqj-YtUy9-D7xD6XxfvVcyP-psgkdWAR6aY36NmkBdX1VFxeqdxdtIthnvp9QLuepTRhWvq2p3oTplfFParxU02AeICxto_Wa7Y2JQP7u29LRdddqPUJZHWzPUgf2j1fXqQQmadtLbjylS3jJvdXhKQaiX7z0TzyEhT-2RpiMH_RrZH5YNmnZ1Xv4uvTYQLmGmIR6Um2X4DClogjz\&csui=3
Esta mecanismo de consenso baseado em trabalho de prova de trabalho usa teoria do jogo para incentivar os mineradores a manter uma led atual e verdadeira.
Esta vídeo explica como o Problema dos Generais Byzantinos é resolvido na blockchain:

3. Engenharia Econômica (Aula Masterclass em Teoria de Jogos)
A brilhantia não é apenas na criptografia — é na alignar as incentives econômicas com a segurança da rede.
| Ator | Incentivo | Impedido por |
|---|---|---|
| Miners | Ganhar BTC + taxas → garantir a cadeia | Dificuldade da PoW |
| Nodos | Validar regras → rejeitar blocos inválidos | Software de Nodos |
| Usuários | Guardar BTC → armazenar valor | Scarcidade (21M cap) |
→ Um espiral auto-reinforçante: mais poder de hash → mais segurança → maior valor → mais mineradores.
4. Modelo de Segurança Imaculado
- Modelo de Saída Não Usada (UTXO): Simplificado, verificável, permite clientes SPV/pequenos.
- Ajuste da Dificuldade a cada 2016 blocos (~~2 semanas~~): Manterá o tempo de bloco ~10 minutos, independentemente da taxa de hash.
- Pontos de Checkpoint e sincronização por ordem dos cabeçalhos: Prevenção de DoS e ataques de longo prazo.
- Nenhum ponto único de falha: Mesmo que 99% dos nós se desliguem, a rede recupera.
5. Design Incompatível para Futuro
Satoshi incluiu extensibilidade desde o início:
// Código de operações scripts permitem futuras atualizações
OP_CHECKSIG, OP_CHECKMULTISIG, OP_RETURN, etc.
// Código de operações scripts permitem futuras atualizações
OP_CHECKSIG, OP_CHECKMULTISIG, OP_RETURN, etc.
* Habilitado **SegWit** (2017), **Taproot** (2021) — grandes upgrades **sem quebrar os antigos nós**.
* **Forks suaves** permitem a evolução enquanto preservam a consensos.
> O protocolo é **antifragil**: ele se torna mais forte sob pressão.
---
6. Bootstrapping Decentralizado
- Sem ICO, sem fundação, sem premines.
-
Lançado com um bloco Genesis de 9 linhas que contém uma notável:
“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”
-
Prove a lançamento justo é possível.
7. Código Que Mudou a História
- Escrito por uma pessoa (ou pequena equipe) em 2008-2009.
- Continua operando o $1,3 trilhão da rede em 2025 com 99,98% de disponibilidade.
- Nunca foi hackeado no nível de protocolo.
- Inspirou milhares de projetos (Ethereum, Litecoin, etc.).
O Que As Pessoas Dizem
“Bitcoin é a software mais impressionante que eu já vi. Não é o código — é a design.”
— Andreas Antonopoulos“A brilhantice da Bitcoin está na perfeição com as incentivações, não apenas na criptografia.”
— Nick Szabo“Satoshi resolvia o problema do duplo-spend com a economia, não apenas com a criptografia.”
— Hal Finney (primeiro receptor de uma transação Bitcoin)
Resumo: Por Que É Brilhante
| Aspecto | Por Que É Genius |
|---|---|
| Simplicidade | Faz uma coisa de forma perfeita |
| Segurança | Não confia, mas é imune à quebra |
| Incentivos | Ativos egoístas → Benefício global |
| Resiliência | Sobreviveu a banimentos, crashs, guerras |
| Extensibilidade | Pode ser atualizado sem hard forks |
| Impacto | Criou um novo tipo de ativo |
Finalmente: O código do Bitcoin não é apenas “bom” — é uma invenção de uma vez por todos que misturou a criptografia, a economia e o sistema distribuído em uma estrutura que funciona sem ninguém em comando.
Aqui está por que é chamado brilhante.
O Problema do Duplicidade
Duplicação de transações é resolvido na Bitcoin através de uma combinação de prova de cálculo criptográfico, incentivos econômicos e consenso descentralizado — especificamente através de Consenso Nakamoto (Prova de Trabalho + Regra da Longa Linha). Aqui está exatamente como funciona, passo a passo.
Pode Alice enviar o mesmo BTC para Bob e Carol?
Em sistemas digitais, copiar dados é fácil. Sem uma solução:
- Alice gasta 1 BTC para Bob.
- Ela repete o mesmo 1 BTC para pagar a Carol.
- Ambas pensam que receberam pagamento → caos.
Solução da Bitcoin: Consenso Nakamoto
1. Transações são Publicas e Chaveadas
Todos os transações são:
- assinadas com a chave privada de Alice.
- enviadas para toda a rede.
- Incluídas em uma bloco com um raiz Merkle (prova de inclusão).
Bloco 800.000 → [Tx1, Tx2, Tx3, …] → Raiz Merkle
2. Proof-of-Work (PoW) Makes Rewriting History Expensive
Miners competem para:
- Coletar transações.
-
Resolver um puzzle SHA-256:
hash(block_header) < target
→ Requer \~10 minutos em média (dificuldade ajustada).
Resultado: Cada bloco custa energia real (em torno de $100K+ em 2025).
3. Longest Chain Rule = Global Truth
Todos os nós seguem:
“A cadeia válida com a maior acumulação de trabalho de prova é a verdadeira.”
- Se Alice tentar duplicar-seguro:
- Ela deve criar uma cadeia alternativa começando antes de sua transação.
- Ela deve superar a mineração honesta completa (51%+ poder de hash).
Situações de Ataque de Duplicação e Porquê Eles Falham
Ação de Racha
- O que o Atacante Faz
- Envia Tx para Bob, então envia Tx para Carol imediatamente
- Por Que Fails
- Mercadores esperam por confirmações (1-6 blocos)
Ação Finney
- O que o Atacante Faz
- Pre-mina um bloco com Tx para si mesmo, libere após mercador aceitar 0-conf
- Por Que Fails
- Rara, riscosa, precisa de sorte de mineração
Ação 51%
- O que o Atacante Faz
- Contro > 50% hash → reescreva a história
- Por Que Fails
- Custo: ~$20–30 bilhões (2025 taxa de hash) → ineficiente econômico
Como as Confirmações Previnem o Duplicatação de Pagamentos
| Confirmações | Nível de Segurança | Aplicações |
|---|---|---|
| 0 | Risco | Café, pequenas doações |
| 1 | Baixo risco | Compras online menores |
| 3 | Médio | Maiores lojistas |
| 6 | Alto | Transferências maiores, trocas |
6 confirmações = ~1 hora → Probabilidade de reversão < 0.1%
Matemática: Probabilidade de Sucesso em Duplicatação de Pagamentos
Vamos:
q= porcentagem do % de hash do atacantez= número de confirmações
Probabilidade de atacante alcançar (Modelo Poisson):
// Implementação do modelo Poisson
function calculateProbability(q, z) {
return Math.pow(1 - Math.pow(q, z), z);
}
// Exemplo de uso
const probability = calculateProbability(0.5, 6);
console.log(probability); // Saída: 0.0003348907042990429
Exemplo:
Atacante tem 10% de taxa de hash (q = 0.1), lojista aguarda 6 blocos:
Por Que Funciona: Finalidade Econômica
- O reavaliação de 6 blocos custa bilhões de energia.
- Se atacar, o preço do BTC pode cair → o atacante perder mais.
- Teoria do Jogo: Atacar é autodestrutivo.
Prova Real-World
- Nunca houve um confirmação de duplo-spend na main-chain (2009–2025).
- As menores cadeias (por exemplo, Bitcoin Cash, Ethereum Classic) foram vítimas de ataques de 51% → perderam credibilidade.
TL;DR: Como o Dúo-Spend é Resolvido
| Mécanismo | Rolê |
|---|---|
| Símbolos digitais | Prove de propriedade |
| Ledger público | Todos os gastos são vistos |
| Prova de Trabalho | Faz com que as alterações na história sejam caras |
| Regulamento da Maior Linha | Decisão centralizada através de acordo |
| Condições de Confirmar | Esperar para a segurança econômica |
Final Answer:
O Bitcoin previne o dano de transações duplicadas por tornar computacional e econômica impossível reescrever a história das transações sem controlar mais de 50% da energia da rede — o que custa bilhões e destrói o valor do ativo.
Isso é o genio do Consenso Nakamoto.
Exploração
1. Sistema de Criptografia RSA
RSA é um dos algoritmos de criptografia mais amplamente usados e é baseado na dificuldade de fatorar grandes números.
- Gerar Chave:
1. Seletor dois números primos grandes (p) e (q).
2. Compute .
3. Compute , que é a função de Euler.
4. Escolha um inteiro (e) (exponencial público), tal que e ( e ) é coprimo com .
5. Compute ( d ), a exponencial privada, onde ( d ) é a inversa modular de ( e ) modulo .
🔹 Assunção de Segurança: A segurança do RSA está baseada na suposição de que a factoring semiprimos grandes (produtos de dois primos) é difícil.
Os passos abaixo descrevem como o conteúdo propriamente dito (uma mensagem ou um arquivo) é cifrado com RSA, em linhas gerais:
🔐 RSA Overview
O RSA cifra dados com uma chave pública e os decifra com uma chave privada. Baseia-se em aritmética modular com números primos grandes.
The RSA key pair consists of:
- Public key: (e,N)
- Private key: (d,N)
Where:
- N=p×q, product of two large primes.
- ϕ(N) = (p - 1) × (q - 1) = 4 × 10 = 40
- e is the public exponent (often 65537).
- d≡e−1mod ϕ(N), the modular inverse.
📨 Encrypting Content (The Actual Data)
Step 1: Convert the Message to a Number
- Text like
"HELLO"is converted to a number using encoding (e.g., UTF-8, ASCII, or hexadecimal). - Example:
"HELLO"→ ASCII →72 69 76 76 79→ combined as an integer, e.g.,7269767679
Step 2: Encrypt the Number
Using the public key (e, N):
C = M^e mod N
Where:
- M é a forma numérica da mensagem (deve ser menor que N)
- C é o texto cifrado
Step 3: Transmit C (the Encrypted Content)
🔓 Decrypting the Content
The recipient uses the private key (d, N):
M = C^d mod N
- Isso recupera o número original M
- Em seguida, M é decodificado de volta ao texto com a codificação original.
🧱 Real-World Optimization: RSA Is Not Used Directly on Large Files
RSA é lento e limitado em tamanho, então em aplicações reais:
- uma chave simétrica aleatória (por exemplo, uma chave AES) é gerada.
- Essa chave simétrica é criptografada com RSA.
- O conteúdo real (arquivo, mensagem, etc.) é criptografado com AES (rápido e suporta grandes volumes de dados).
- O destinatário usa sua chave privada RSA para descriptografar a chave AES, então usa AES para descriptografar o conteúdo.
Isso é chamado de criptografia híbrida.
📝 Passo 1: Escolha de Dois Números Primos
Vamos escolher:
- p = 5
- q = 11
Então calcule:
- N = p × q = 5 × 11 = 55
🔢 Step 2: Compute the Public Key
Compute:
- e = 3
🔢 Step 3: Compute the Private Key
Compute:
- d = 7
🔢 Step 4: Encrypt the Message
Encrypt the message using the public key:
- C = M^e mod N = 10^3 mod 55 = 100 mod 55 = 45
🔢 Step 5: Decrypt the Message
Decrypt the message using the private key:
- M = C^d mod N = 45^7 mod 55 = 10
🔢 Step 6: Convert the Number Back to the Original Message
Convert the number back to the original message:
- Original Message = 10
🔢 Step 7: Verify the Decryption
Verify that the decryption is correct:
- M = 10^3 mod 55 = 100 mod 55 = 10
🔢 Step 8: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 10: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 12: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 14: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 16: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 18: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 20: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 22: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 24: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 26: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 28: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 30: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 32: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 34: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 36: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 38: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 40: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 42: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 44: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 46: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 48: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 50: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 52: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 54: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 56: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 58: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 60: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 62: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 64: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 66: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 68: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 70: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 72: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 74: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 76: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 78: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 80: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 82: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 84: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 86: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 88: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 90: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 92: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 94: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 96: Convert the Number Back to the Original Message
- Original Message = 10
🔢 Step 97: Verify the Decryption
🔐 Passo 2: Escolha um Exponencial Público e
Escolha e tal que:
- 1 < e < ϕ(N)
- gcd(e,ϕ(N)) = 1
Vamos escolher e = 3
🗝️ Passo 3: Compute the Private Key d
Necessitamos:
d ≡ e−1modϕ(N) ⇒ d × e mod40 = 1
Tente valores de d até:
- 3 × 27 = 81 ≡ 1 mod40
✅ Então, d = 27
🔓 Chave RSA de Chave Pública
- Chave Pública: (e = 3, N = 55)
- Chave Privada: (d = 27, N = 55)
✉️ Passo 4: Encripte um Mensagem
Vamos encriptar a mensagem:
- “H” → ASCII é 72
- Mas 72 > 55 (nossa N), então vamos escolher um pequeno mensagem:
- Diga: M = 9
Encripte usando:
C = M e modN = 93 mod55 = 729 mod55 = 14
Então, a cifra é C = 14
🔓 Passo 5: Desencripte a Mensagem
Agora desencripte usando:
M = C d modN = 1427 mod55
Não é necessário calcular diretamente 1427. Use exponenciação modular:
- 142 = 196 mod 55 = 31
- 144 = (142)² = 31² = 961 mod 55 = 26
- …
Você usaria a exponenciação por mentira em prática.
Finalmente você recuperará:
M = 9
✅ A descifração corresponde ao mensage original!
🧠 Resumo
| Passo | Valor |
|---|---|
| p, q | 5, 11 |
| N | 55 |
| φ(N) | 40 |
| e (publico) | 3 |
| d (privado) | 27 |
| Mensagem (M) | 9 |
| Cifrado (C) | 14 |
| Decifrado (M) | 9 |
Exemplo de dois grandes números primos
Aqui estão as insights da factoring N−1 = 143946793769762107348738:
-
Divisibilidade por 2:
* N−1 é divisível por 2 exatamente uma vez, o que significa:N−1 = 2 × 71973396884881053674369
* Isso confirma que N−1 é par mas não possui potências maiores de 2. -
Factorização Prima de N−1:
* A factorização é:N−1 = 2 × 71973396884881053674369
* O número 71973396884881053674369 é uma grande número primo.
O Que Significa Para a Criptografia?
- De N−1 não ser altamente composto (apenas tem um fator pequeno, 2, e um grande número primo), sugere que p e q (os fatores primos originais de N) devem ter uma estrutura específica.
- Se um dos fatores primos de N for próximo a uma potência de 2, isso poderia ser útil para técnicas de descomposição especial (como o método de Rho de Pollard).
- A presença de apenas um fator primo pequeno (2) sugere que p e q não estão próximos a cada um outro, o que fortalece a segurança do RSA.
Aqui estão exemplos de números N (até 50) que satisfazem a condição:
- N é uma produto de dois primos.
- N−1 é par mas não tem potência maior de 2 (i.e., apenas um fator de 2).
Exemplos
-
N=15
* Fatores primos: 3×5
* N−1=14=2×7 (contém apenas um fator 2) -
N=35
* Fatores primos: 5×7
* N−1=34=2×17 (contém apenas um fator 2) -
N=39
* Fatores primos: 3×13
* N−1=38=2×19 (contém apenas um fator 2)
Esses números têm estrutura semelhante à do nosso N grande, o que reforça o padrão.
Next Step: Analyzing N+1 for Our Large Prime Product
A seguir, considera-se a fatoração de N+1 para N=143946793769762107348739.
Insights from N+1=143946793769762107348740
- Divisibilidade por 2:
* N+1 é divisível por 2²=4, o que significa:
Next Step: Analyzing N+1 for Our Large Prime Product
Now, I’ll compute the factorization of N+1 for N=143946793769762107348739. Let’s
N+1 = 4 × 32 × 5 × 257 × 1201 × 2590916162056949
- Esta é diferente de N−1, que tinha apenas um fator de 2.
- A presença de 22 sugere uma divisibilidade ligeiramente mais alta por 2.
- Factorização Primária:
* N+1 se divide em:
22×32×5×257×1201×2590916162056949
- Diferente de N−1, que tinha apenas um grande fator primo após 2, N+1 tem multiplos de pequenos fatores.
- Relevância Criptográfica:
* A presença de multiplos de pequenos fatores em N+1 poderia permitir tecnologias de divisão alternativas em comparação com N−1.
* No entanto, N mesmo permanece difícil de dividir, pois a segurança RSA depende apenas de N, não de N±1.
* Algumas técnicas de divisão, como a metodologia de Pollard’s p-1, poderiam se comportar de maneira diferente quando analisado N−1 em comparação com N+1.
Comparação de N−1 vs. N+1
| Número | Divisível por 2 | Fatoração Primária |
|---|---|---|
| ( N - 1 ) | ( 2^1 ) | (uma grande fator primária) |
| ( N + 1 ) | ( 2^2 ) | 2² × 3² × 5 × 257 × 1201 × 2590916162056949 (fatores primários múltiplos) |
🔹 N-1 tem uma estrutura de fatores primários mais limpa, enquanto N+1 é mais fatorável em fatores primários menores.
🔹 Nenhuma diretamente ajuda na fatoração de N, mas mostram propriedades interessantes de teoria dos números.
Progressão de números não primos entre pares primos de 1 a 100:
Observações da Gráfica
- O intervalo entre pares primos aumenta conforme os números crescem.
- Os intervalos menores ocorrem entre pares primos menores (por exemplo, 2, 3, 5, 7).
- Os intervalos maiores começam a aparecer após pares primos maiores, mostrando que os números não primos se tornam mais frequentes ao longo da linha numérica.
- O maior intervalo em esta faixa é 8, que ocorre entre 89 e 97, o que significa oito números não primos consecutivos existem entre eles.
Esta paternidade reflete a Teoria dos Números Primos, onde os primos se tornam menos frequentes conforme os números crescem.
Instantâneo offline omitido nesta edição web.
2. Sistema de Criptografia de Rabin
O sistema de criptografia de Rabin é outro sistema de criptografia assíncrona baseado na dificuldade de fatorização de números inteiros.
- Ele também usa , onde ( p ) e ( q ) são números primos.
- No entanto, o processo de decodificação resulta em múltiplos possíveis de texto plano
Subtraindo 1 de um produto primo ( N = 143946793769762107348739 ) nos dá:
Grande curiosidade! Além dos números triangulares, existem várias formas figurativas que são interessantes para explorar, especialmente quando se cruzam com números primos. Essas classes de números vêm da organização de pontos em formas geométricas, e algumas delas têm padrões fascinantes e interseções raras com a primos.
🔷 Números Figurativos Interessantes para Verificar a Primidade
| Forma / Nome | Formula | Notas |
|---|---|---|
| Números Quadrados | n² | Praticamente nunca primo, exceto n=1 (pois todos n² > 1 são compostos) |
| Números Pentagonais | n(3n−1)² | Apresentam-se na teoria das partículas e na teorema de Euler dos pentagonais |
| Números Hexagonais | n(2n−1) | Todos os números hexagonais também são números triangulares |
| Números Heptagonais | n(5n−3)² | Relacionado a figuras 7-éssexes |
| Números Poligonais Centrados | Vários (por exemplo, centrado hexagonal: 3n(n−1)+1) | Interessante em padrões simétricos |
| Números de Fibonacci | Fn, recursivo | Alguns números de Fibonacci são primos (por exemplo, 2, 3, 5, 13…) |
| Números de Catalan | 1n+1(2nn) | Raramente primos, altamente composto |
| Números de Bell | Contagem de divisões, sem fórmula simples | Apresenta-se em combinaçãos |
| ⭐ Destaque para Explorar: |
- Primos Pentágonicos:
* Definidos por Pn = n(3n−1)²
* Raros, mas algumas valores são primos (por exemplo, ver n=1→1, n=2→5) - Primos Hexagonais:
* Definidos por Hn = n(2n−1)
* Subconjunto de números triangulares; alguns podem ser primos - Primos Fibonacci:
* Só poucos números Fibonacci são primos.
* Estes são famosos e às vezes usados em sistemas pseudoaleatórios. - Primos Centrados:
* Como números centrais hexagonais ou quadrados—frequentemente produzem padrões simétricos.
* Raros, mas visualmente fascinantes.
🧠 Observação Interessante
Muitos desses conjuntos de números figurados intersectam os primos com extrema raridade. Eles ilustram que padrões estruturais e primalidade nem sempre se alinham.
Insights Principais de ( N - 1 )
-
Propriedade de Número Par:
* Como ( N ) é ímpar (o produto de dois números primos ímpares), ( N - 1 ) é par.
* Isso significa que ele é divisível por 2.
* Confirmamos anteriormente que: -
Não Divisível por 3:
* Confirmamos anteriormente que:
* Isso significa que ( N - 1 ) não é múltiplo de 6, reforçando que ele não possui como fatores 2 e 3. -
Uso Potencial em Criptografia:
* Muitas sistemas de criptografia, como RSA, envolvem a computação de ( N - 1 ) ao encontrar Euler’s totient
* Como ( N - 1 ) é par mas não é divisível por 3, nos dá informações sobre a estrutura de ( p ) and ( q ), ainda que ainda não sabemos eles. - Aplicação da Lei de Fermat:
* Na aritmética modular, a Lei de Fermat estabelece: para um número primo ( p ). Como ( N ) é uma produto de dois números primos, ( N - 1 ) pode ser útil em cálculos de exponenciação modular. - Teste de Próximo a Potência de 2:
* Como ( N - 1 ) é par, podemos testar quantas vezes é divisível por 2, o que pode nos dizer sobre a estrutura de ( p ) e ( q ).
* Isso é relevante para algoritmos de factoring como o método de Rho de Pollard ou o método de curvas elípticas de Lenstra (ECM).
Próximos Passos:
- ( N ) é uma produto de dois números primos.
- ( N - 1 ) é par mas não possui potências superiores de 2 (i.e., apenas uma fator de 2).
Exemplos
-
( N = 15 )
* Fatores primos:
* (contém apenas um fator 2) -
( N = 35 )
* Fatores primos:
* (contém apenas um fator 2) -
( N = 39 )
* Fatores primos:
* (contém apenas um fator 2)
Insights from ( N + 1 = 143946793769762107348740 )
-
Divisibilidade por 2:
* ( N + 1 ) é divisível por ( 2^2 = 4 ), o que significa: N + 1 = 4 × 3² × 5 × 257 × 1201 × 2590916162056949
* Isso é diferente de ( N - 1 ), que tinha apenas uma fatorização de 2.
* A presença de ( 2^2 ) sugere uma divisibilidade mais alta por 2. -
Fatorização Primária:
* ( N + 1 ) é fatorizado em: 2² × 3² × 5 × 257 × 1201 × 2590916162056949
* Diferente de ( N - 1 ), que tinha apenas uma grande fator primária após 2, ( N + 1 ) tem multiplos de pequenos primos. -
Relevância Criptográfica:
* A presença de multiplos de pequenos primos em ( N + 1 ) poderia permitir alternativas para factoring.
Técnicas de organização comparadas a ( N - 1 ).
* No entanto, ( N ) mesmo permanece difícil de factorizar, pois a segurança de RSA depende apenas de ( N ), não de ( N ± 1 ).
* Algumas técnicas de factorização, como o método de Pollard p-1, podem se comportar de maneira diferente ao analisar ( N - 1 ) em comparação com ( N + 1 ).
Comparação de ( N - 1 ) vs. ( N + 1)
| Número | Divisível por 2 | Fatorização Primária |
|---|---|---|
| ( N - 1 ) | ( 2^1 ) | (uma grande primária) |
| ( N + 1 ) | ( 2^2 ) | 2² × 3² × 5 × 257 × 1201 × 2590916162056949 (primos múltiplos) |
🔹 ( N - 1 ) tem uma estrutura puramente primária mais limpa, enquanto ( N + 1 ) é mais facilmente factorável em primos menores.
🔹 Nenhuma dessas diretamente ajuda na factorização de ( N ), mas mostram propriedades interessantes na teoria dos números.
Instantâneo offline omitido nesta edição web.
Aqui está a progressão dos números não primos entre as primeiras 100 primeiros números primos:
Observações da Gráfica
- A distância entre números primos consecutivos aumenta conforme os números crescem.
- As distâncias menores ocorrem entre números primos consecutivos menores (por exemplo, 2, 3, 5, 7).
- As distâncias maiores começam a aparecer após números primos maiores, mostrando que os números não primos se tornam mais frequentes ao longo da linha numérica.
- A maior distânciasestá presente neste intervalo e ocorre entre ( 89 ) e ( 97 ), o que significa oito números não primos consecutivos existem entre eles.
Este padrão reflete a teoria dos números primos, onde os primos se tornam menos frequentes conforme os números crescem.
Eu tenho fornecido uma tabela que mostra os gaps entre números primos consecutivos de 1 a 100. Agora, vamos mergulhar na interpretação número-teórica desses gaps.
Interpretação Numérica dos Gaps de Primos
- Gotas Pequenas no Começo (Distribuição de Primos Rígida)
* O menor gap de primos é 1 (entre 2 e 3), o único caso em que dois números consecutivos são ambos primos.
* As próximas gotas são pequenas (principalmente 2, 4), o que significa que primos menores são espalhados de forma rígida. - Gotas Inicialmente Menores (Gotas de Primos que Crescem)
* Após (7), começamos a ver gotas de 4 e maiores.
* A maior gota dentro de 1-100 é 8 (entre 89 e 97), mostrando como os primos se tornam menos frequentes. - Por Que As Gotas Inicialmente Iniciais Inicializam-se?
* Como os números crescem, regras de divisibilidade eliminam mais candidatos para serem primos.
* Os números não primos são cada vez mais concentrados porque são formados por produtos de maiores primos. - Relação com o Teorema dos Números Primos
* A média de distância entre primos até ( x ) é aproximadamente .
* Para ( x = 100 ), esperamos uma média de distância de cerca de , que está próximo do que observamos em nosso conjunto de dados.
Mais Exploração
A relação estrutural entre a Teorema de Pitágoras e o Algoritmo Extensivo de Euclides pode ser analisada em termos de estrutura algebráica e geométrica. Ambos envolvem a decomposição de quantidades em subcomponentes menores e a aplicação de relações fundamentais. Vamos explorar essa conexão em diferentes níveis:
Subjuntos relacionados
1. Geometria vs. Álgebra
-
A Teorema de Pitágoras estabelece uma relação entre as arestas de um triângulo retângulo:
Ele pode ser interpretado como uma decomposição da hipotenusa ( c ) em termos das laterais ( a ) e ( b ), preservando a estrutura métrica. -
A Algoritmo de Euclides Estendido encontra o máximo divisor comum (MDC) entre dois inteiros ( a ) e ( b ) através de uma sequência de divisões e restos:
onde ( x ) e ( y ) são os coeficientes da identidade de Bezout.
Ambas, portanto, se relacionam à decomposição e à relação fundamental: uma em espaço geométrico (medida de segmentos) e a outra em espaço algebraico (divisibilidade e congruências).
2. Decomposição e Recursão
- A Teorema de Pitágoras pode ser provado geométricamente através de decomposição recursiva de quadrados e triângulos.
- A Algoritmo de Euclides Extensivo é uma decomposição recursiva de números em divisores progressivamente menores.
Exemplo de conexão
Considere um triângulo retângulo de catetos inteiros. Se os catetos (a) e (b) são coprimos, então MDC(a, b) = 1. Não há fator comum entre eles, o que liga o teorema de Pitágoras à aritmética modular e à noção de primalidade.
3. Relationship via Pythagorean Triples and the Euclidean Algorithm
Os coeficientes da identidade de Bézout obtidos pelo algoritmo de Euclides estendido podem ser usados para construir ternas pitagóricas primitivas:
Há uma fórmula paramétrica para obter ternas pitagóricas a partir de inteiros (m) e (n):
Sejam (m) e (n) coprimos e um deles é ímpar, então , que diretamente se conecta à Álgebra Euclidiana.
4. Perspectiva de Teoria dos Números
Ambos os conceitos aparecem na Teoria dos Números:
- A Lei de Pitágoras está relacionada a equações diofantinas quadráticas.
- A Álgebra Euclidiana resolve equações lineares de Bézout e aparece na aritmética modular.
Eles convergem ao estudo de triplos pitagóricos primos e sua relação com os coeficientes da identidade de Bézout.
Conclusão
A relação estrutural entre a Lei de Pitágoras e a Álgebra Extensiva Euclidiana surge porque ambos:
- Use descomposição recursiva (segmentos e divisões sucessivas).
- Operate with relações fundamentais (quadrados vs. divisibilidade).
- Aplicáveis na teoria dos números, especialmente em triplos pitagóricos primos.
- Naturalmente aparecem em problemas Diophantinos.
Em essência, a Teorema de Pitágoras expressa uma relação fundamental geométrica, enquanto a Algoritmo de Euclides estendido descreve uma relação fundamental aritmética, ambos baseados na estrutura dos números inteiros.
Índice da parte
O mapa científico, as equações e o conjunto bibliográfico desta parte da base de conhecimento estão nos índices de parte:
Os retratos da Wikipédia no cartão do capítulo servem de orientação offline; os índices de parte reúnem as trilhas completas de citação.
Nesta página
- Em resumo
- Referências online (verificadas)
- Instantâneos offline (proteção contra links quebrados)
- Aplicações na Keyne Digital Assets
- Código Bitcoin
- 1. Simplicidade Elegante e Minimalismo
- 2. Tolerância a faltas bizantinas
- 3. Engenharia Econômica (Aula Masterclass em Teoria de Jogos)
- 4. Modelo de Segurança Imaculado
- 5. Design Incompatível para Futuro
- 6. Bootstrapping Decentralizado
- 7. Código Que Mudou a História
- Resumo: Por Que É Brilhante
- O Problema do Duplicidade
- Solução da Bitcoin: Consenso Nakamoto
- Situações de Ataque de Duplicação e Porquê Eles Falham
- Como as Confirmações Previnem o Duplicatação de Pagamentos
- Matemática: Probabilidade de Sucesso em Duplicatação de Pagamentos
- Por Que Funciona: Finalidade Econômica
- Prova Real-World
- TL;DR: Como o Dúo-Spend é Resolvido
- Exploração
- 📝 Passo 1: Escolha de Dois Números Primos
- 🔢 Step 2: Compute the Public Key
- 🔢 Step 3: Compute the Private Key
- 🔢 Step 4: Encrypt the Message
- 🔢 Step 5: Decrypt the Message
- 🔢 Step 6: Convert the Number Back to the Original Message
- 🔢 Step 7: Verify the Decryption
- 🔢 Step 8: Convert the Number Back to the Original Message
- 🔢 Step 10: Convert the Number Back to the Original Message
- 🔢 Step 12: Convert the Number Back to the Original Message
- 🔢 Step 14: Convert the Number Back to the Original Message
- 🔢 Step 16: Convert the Number Back to the Original Message
- 🔢 Step 18: Convert the Number Back to the Original Message
- 🔢 Step 20: Convert the Number Back to the Original Message
- 🔢 Step 22: Convert the Number Back to the Original Message
- 🔢 Step 24: Convert the Number Back to the Original Message
- 🔢 Step 26: Convert the Number Back to the Original Message
- 🔢 Step 28: Convert the Number Back to the Original Message
- 🔢 Step 30: Convert the Number Back to the Original Message
- 🔢 Step 32: Convert the Number Back to the Original Message
- 🔢 Step 34: Convert the Number Back to the Original Message
- 🔢 Step 36: Convert the Number Back to the Original Message
- 🔢 Step 38: Convert the Number Back to the Original Message
- 🔢 Step 40: Convert the Number Back to the Original Message
- 🔢 Step 42: Convert the Number Back to the Original Message
- 🔢 Step 44: Convert the Number Back to the Original Message
- 🔢 Step 46: Convert the Number Back to the Original Message
- 🔢 Step 48: Convert the Number Back to the Original Message
- 🔢 Step 50: Convert the Number Back to the Original Message
- 🔢 Step 52: Convert the Number Back to the Original Message
- 🔢 Step 54: Convert the Number Back to the Original Message
- 🔢 Step 56: Convert the Number Back to the Original Message
- 🔢 Step 58: Convert the Number Back to the Original Message
- 🔢 Step 60: Convert the Number Back to the Original Message
- 🔢 Step 62: Convert the Number Back to the Original Message
- 🔢 Step 64: Convert the Number Back to the Original Message
- 🔢 Step 66: Convert the Number Back to the Original Message
- 🔢 Step 68: Convert the Number Back to the Original Message
- 🔢 Step 70: Convert the Number Back to the Original Message
- 🔢 Step 72: Convert the Number Back to the Original Message
- 🔢 Step 74: Convert the Number Back to the Original Message
- 🔢 Step 76: Convert the Number Back to the Original Message
- 🔢 Step 78: Convert the Number Back to the Original Message
- 🔢 Step 80: Convert the Number Back to the Original Message
- 🔢 Step 82: Convert the Number Back to the Original Message
- 🔢 Step 84: Convert the Number Back to the Original Message
- 🔢 Step 86: Convert the Number Back to the Original Message
- 🔢 Step 88: Convert the Number Back to the Original Message
- 🔢 Step 90: Convert the Number Back to the Original Message
- 🔢 Step 92: Convert the Number Back to the Original Message
- 🔢 Step 94: Convert the Number Back to the Original Message
- 🔢 Step 96: Convert the Number Back to the Original Message
- 🔢 Step 97: Verify the Decryption
- Subjuntos relacionados
- 1. Geometria vs. Álgebra
- 2. Decomposição e Recursão
- 3. Relationship via Pythagorean Triples and the Euclidean Algorithm
- 4. Perspectiva de Teoria dos Números
- Conclusão
- Índice da parte