Diretório de artigos
1. Conceitos básicos e princípios de design de criptografia
1.1 Criptografia
A criptologia é dividida emcriptografia(Criptografia)criptoanálise(Criptoanálise), o primeiro busca métodos para proporcionar confidencialidade da informação, integridade, autenticidade e não repúdio , enquanto o segundo estuda métodos como a decifração e falsificação de mensagens criptografadas que prejudicam a segurança fornecida pela tecnologia criptográfica.
1.2 Esquema de senha
Um esquema criptográfico refere-se à soma de um algoritmo criptográfico, parâmetros relacionados e seu uso . Os parâmetros incluem principalmenteChave, texto simples e texto cifrado。
1.3 Critério de Kerckhoff (Kerckhoff)
- A segurança do algoritmo criptográfico deve ser baseada na confidencialidade da chave. Mesmo que o adversário conheça o algoritmo, deve ser difícil decifrar o algoritmo criptográfico sem dominar a chave específica.
- O critério de Kerckhoff acredita que a segurança de um sistema de proteção de segurança não se baseia no fato de seu algoritmo ser confidencial para o oponente, mas deve se basear no fato de a chave escolhida ser confidencial para o oponente.
- Dois algoritmos criptográficos comuns em criptografia são algoritmos criptográficos simétricos (algoritmos criptográficos de chave única) e algoritmos criptográficos assimétricos (algoritmos criptográficos de chave pública).
1.4 Criptoanálise (ataque de senha)
Definição de ataque somente de texto cifrado : Ataque somente de texto cifrado (COA) refere-se a um método de criptoanálise que analisa e resolve o texto simples ou chave quando conhece apenas o texto cifrado.
Compreensão simples : conhecer apenas o texto cifrado, derivar o texto simples ou a chave e geralmente usar um ataque exaustivo .
Definição de ataque de texto simples conhecido : Ataque de texto simples conhecido (KPA) significa que o invasor domina parte do texto simples M e o texto cifrado correspondente C , de modo a resolver ou quebrar a chave correspondente e o algoritmo de criptografia.
Compreensão simples : conhecer parte dos pares de texto simples e texto cifrado e derivar a chave e o algoritmo de criptografia.
Definição de ataque de texto simples escolhido : Ataque de texto simples escolhido (CPA) significa que além de conhecer o algoritmo de criptografia, o invasor também pode selecionar a mensagem de texto simples para obter o texto cifrado criptografado, ou seja, ele conhece o texto simples selecionado e o texto cifrado criptografado, mas não pode Quebre diretamente a chave.
Entendimento simples : se você conhece o texto simples, conhece o texto cifrado e o objetivo é derivar a chave.
Definição de ataque de texto cifrado escolhido : Ataque de texto cifrado escolhido (CCA) significa que o invasor pode escolher o texto cifrado para descriptografia. Além de conhecer o ataque de texto simples conhecido, o invasor pode criar ou selecionar arbitrariamente algum texto cifrado e obter o texto simples descriptografado., é um ataque mais forte método do que o ataque de texto simples conhecido .
Entendimento simples : se você conhece o texto cifrado, você conhece o texto simples e o objetivo é derivar a chave.
2. Senha simétrica
- As cifras simétricas podem ser divididas em cifras clássicas, cifras de bloco e cifras de sequência.
- Princípio Simétrico de CipherShannon
- O design da senha deve seguir os princípios de difusão e confusão. O primeiro significa que a influência de cada bit de codificação de texto simples deve ser espalhada para o maior número possível de textos cifrados, enquanto o último significa que a influência de cada bit de codificação de texto simples deve ser espalhada para tantos textos cifrados quanto possível. A relação estatística entre
- Deixe as 26 letras serem usadas com quase a mesma frequência no texto cifrado para evitar derivação reversa.
- A substituição de tabela única é muito simples e fácil de decifrar
- O design de cifras simétricas inclui cifras de bloco, cifras de sequência e cifras simétricas modernas.
2.1 Criptografia clássica (baseada em livro de códigos)
- Classificação
- A cifra de substituição de uma letra
substitui cada letra do alfabeto por outra letra para formar um texto cifrado.
abc…z (todas as letras mais 4 dígitos) efg…d - Cifras de substituição multitabelas.
Tendo em vista as deficiências das cifras de substituição de tabela única serem facilmente quebradas pela análise de frequência, as pessoas propuseram cifras de substituição multitabelas , que usam uma série (mais de duas) tabelas de substituição para substituir sequencialmente
as letras de a mensagem de texto simples . Por exemplo, adicione 1 dígito à primeira tabela, adicione 2 dígitos à segunda tabela, adicione 3 dígitos à terceira tabela, th/ea/ir, use a primeira tabela para th e use a segunda tabela para ea. ir usa a terceira tabela e assim por diante. - A cifra de substituição de vários caracteres
é uma melhoria simples da substituição de tabela única, ou seja, a tabela de substituição original é alterada de um
mapeamento de um único caractere para um único caractere em um
mapeamento de vários caracteres para vários caracteres. Por exemplo, na substituição original de tabela única, o caractere de texto simples a é substituído por b, e o caractere
b é substituído por d, então ab é criptografado em bd; enquanto a substituição de vários caracteres é para
criptografar como ab , substitua diretamente ac por outro caractere
para formar o texto cifrado ac
- A cifra de substituição de uma letra
- Criptografia cifra-Hill (Hill) de substituição de vários caracteres
3. Conversão entre byte Byte e bit bit e bit- Bit é a abreviatura de dígito binário. A quantidade de informação contida em um dígito binário é chamada de bit. Um bit é a menor unidade de armazenamento de dados dentro de um computador. As vantagens do binário em termos de eficiência e custo são aceitas em todo o mundo.Agora todas as informações do computador são binárias, compostas por 0s e 1s.
- Byte Byte é a menor unidade de processamento de dados de computador. Geralmente é representado por um B maiúsculo. Cada byte possui 8 bits binários, dos quais o bit mais à direita é o bit mais baixo e o bit mais à esquerda é o bit mais alto. Cada byte possui 8 bits binários. bits. O valor de um bit binário é 0 ou 1. Um byte consiste em 8 bits binários. Ou seja, 1 byte Byte é igual a 8 bits.
- Bit é a abreviatura de dígito binário. A quantidade de informação contida em um dígito binário é chamada de bit. Um bit é a menor unidade de armazenamento de dados dentro de um computador. As vantagens do binário em termos de eficiência e custo são aceitas em todo o mundo.Agora todas as informações do computador são binárias, compostas por 0s e 1s.
2.2 Cifra de bloco
- Criptografia AES:
- Adição XOR
XOR também é chamada de operação de meia adição. Sua regra de operação é equivalente à adição binária sem carry: em binário, 1 é usado para representar verdadeiro e 0 é falso. A regra de operação exclusiva é: 0⊕0=0, 1⊕ 0=1, 0⊕1=1, 1⊕1=0 (o mesmo é 0, a diferença é 1), essas regras são iguais à adição, mas sem transporte, então XOR é frequentemente considerado como adição sem transporte.
2.3 Cifra de sequência (cifra de fluxo)
- Com a ajuda da filtragem não linear e da combinação não linear, um registrador de deslocamento de feedback linear é formado para atualizar a chave regularmente.
- Outros
1. Uma chave de criptografia totalmente fechada em formato de USB, com 6 dígitos, mudando a cada 1 minuto; 2.
Ao fazer login, digite seu nome, seguido de 6 dígitos, digite sua senha após verificação e, em seguida, digite a chave USB novamente O código de 6 dígitos na chave
é 3. Isso representa um total de 3 senhas.
2.4 Função unidirecional
2.5 Função de alçapão unidirecional
3. Princípios básicos de criptografia de chave pública e tecnologia de assinatura digital
3.1 Criptografia de chave pública
- Na criptografia de chave pública, as chaves são divididas em chaves de criptografia e chaves de descriptografia .
- O remetente usa a chave de criptografia para criptografar a mensagem e o destinatário usa a chave de descriptografia para descriptografar o texto cifrado.
- O remetente só precisa da chave de criptografia.
- O destinatário só precisa da chave de descriptografia.
- A chave de descriptografia não pode ser obtida por um bisbilhoteiro.
- Não há problema em que a chave de criptografia possa ser obtida por um bisbilhoteiro.
- Na criptografia de chave pública, a chave de criptografia geralmente é pública, por isso é chamada de chave pública . Por outro lado, a chave de descriptografia não deve ser tornada pública. Ela não pode ser enviada a terceiros (nem ao parceiro de comunicação). Ela só pode ser usada por você mesmo, por isso é chamada de chave privada . As chaves públicas e as chaves privadas têm uma correspondência um-para-um, e um par de chaves públicas e chaves privadas é chamado coletivamente de par de chaves . Existe uma relação matemática muito próxima entre as duas chaves no par de chaves, portanto a chave pública e a chave privada não podem ser geradas separadamente .
3.2 Tabela hash
A tabela hash também é chamada de tabela hash e também é traduzida diretamente como tabela hash. A tabela hash é uma estrutura de dados que é acessada diretamente com base no valor-chave (valor-chave). Ele é baseado em matrizes e acelera a pesquisa mapeando palavras-chave para um determinado subscrito da matriz. No entanto, é diferente de estruturas de dados como matrizes, listas vinculadas e árvores. Pesquisar uma palavra-chave nessas estruturas de dados geralmente requer percorrer o dados inteiros.estrutura .
3.3 Função hash (função unidirecional típica de alçapão)
- A função hash unidirecional refere-se ao cálculo de diferentes valores de entrada por meio de uma função hash unidirecional para obter um valor de saída de comprimento fixo. Esse valor de entrada é chamado de mensagem e o valor de saída é chamado de valor hash .
- As funções hash unidirecionais também são chamadas de funções de resumo de mensagem , funções hash ou funções hash . A mensagem de entrada também é chamada de pré-imagem . O valor hash de saída também é chamado de resumo da mensagem ou impressão digital , que equivale ao cartão de identificação da mensagem .
- Existem muitos algoritmos de implementação para funções hash unidirecionais, os mais comuns são: MD5, SHA-1, SHA-2 e SHA-3.