[Criptografia moderna] (Segurança de rede) Notas de revisão final

criptografia moderna

[Após o exame] Você ainda precisa prestar atenção às perguntas de resposta curta e precisa entender cada algoritmo criptográfico (alguns difíceis não precisam entender o processo completo do algoritmo, talvez você não passe no exame? ) e vários algoritmos criptográficos importantes (os pontos-chave serão discutidos abaixo) Falar) focam na repetição (podem fazer grandes cálculos)

✍Criado por Sikevin na UESTC

[Nota]: Antes de revisar este curso, você precisa ter os fundamentos da matemática de segurança da informação. Você pode verificar o artigo "Revisão de matemática de segurança da informação" na página inicial do blogueiro.

✍Página inicial do blog: programador desconhecido da UEST

[Algoritmos principais]: algoritmo DES, RSA, ElGamal, algoritmo ECC, algoritmo DH, esquema de limite Shamir.

1. Introdução

O que é uma senha? Tecnologias, produtos e serviços que usam métodos de transformação específicos para criptografar e proteger informações, autenticação de segurança, etc.

O que é Criptografia? Criptografia é a ciência técnica que estuda a criação e decifração de códigos

A confidencialidade do sistema não depende da confidencialidade do sistema de criptografia ou algoritmo, mas da chave.

Sistema de segurança:

Um sistema de segurança consiste em espaço de texto simples, espaço de texto cifrado, espaço de chave, algoritmo de criptografia e algoritmo de descriptografia.

①O sistema é inquebrável

②A confidencialidade depende da chave** (suposição de Kerckhoff)**

③O algoritmo de criptografia e descriptografia é aplicável a todos os elementos no espaço de chave

④Fácil de implementar e usar

Suposição de Kerckhoff : Assume-se que o criptoanalista e o adversário conhecem o sistema criptográfico utilizado. Ou seja, a segurança do sistema criptográfico depende apenas do sigilo da chave , e não deve depender do sigilo do algoritmo.

imagem-20230602234321480

Incondicionalmente seguro e computacionalmente seguro:

imagem-20230605164953304

Computacionalmente seguro:

O custo de decifrar o texto cifrado excede o valor da informação criptografada.

O tempo que leva para decifrar o texto cifrado excede a vida útil da informação.

2. Cifra de bloco

imagem-20230603111936013

imagem-20230603112305743

Requisitos que uma cifra de bloco deve satisfazer:

imagem-20230605144852340

imagem-20230605144917147

O bloco N deve ser grande o suficiente, caso contrário, é equivalente à cifra de substituição clássica

Para uma estrutura de substituição de n bits, o tamanho da chave é n×2^n bits (comprimento do pacote de n bits, há 2^n casos)

Rede de substituição: entendida como uma relação de substituição

imagem-20230603112726603

imagem-20230603112846008

Uma cifra de produto refere-se à execução sequencial de dois ou mais sistemas criptográficos básicos de modo que o resultado final seja criptograficamente mais forte do que o resultado produzido por cada sistema criptográfico básico

Algoritmo de Feistel

imagem-20230603113019821

Os algoritmos devem ser fáceis de analisar e o software deve ser fácil de implementar

imagem-20230603113221200

O processo de descriptografia do Feistel é essencialmente o mesmo que o processo de criptografia, e o algoritmo usa texto cifrado como entrada

Mas a ordem de uso da subchave Ki é oposta ao processo de criptografia, ou seja, Kn é usado na primeira rodada, Kn-1 é usado na segunda rodada, ... e K1 é usado na última rodada. Esse recurso garante que o mesmo algoritmo possa ser usado para descriptografia e criptografia.

imagem-20230603113316344

Ao criptografar:

imagem-20230605145933116

imagem-20230605145848186

Breve introdução dos padrões de criptografia de dados nos Estados Unidos

① Alta segurança

② fácil de entender

③A segurança depende da chave

④Aplicável a todos os usuários e vários cenários

⑤ Eficiente, econômico, eficaz e exportável

algoritmo DES

A criptografia de cifra de fluxo é uma criptografia byte a byte, enquanto o DES usa criptografia de bloco , que criptografa cada bloco e os mescla para formar o texto cifrado

Comprimento do pacote: 64 bits

O comprimento do texto cifrado também é de 64 bits

O comprimento da chave é de 64 bits, dos quais existem 8 bits de paridade, portanto, o comprimento efetivo da chave é de 56 bits

imagem-20230603120423486

imagem-20230603120435879

processo:

1. Substituição de ip inicial

Substitua a posição do texto simples de 64 bits para obter um grupo desordenado de texto simples de 64 bits

imagem-20230603201201385

O número nele representa a posição atual correspondente à sequência de texto simples original; por exemplo, 58 significa que o 58º bit da sequência original é colocado em primeiro lugar

2. 16 iterações

① Primeiro, para o texto simples agrupado de 64 bits, divida-o em grupos esquerdo e direito (32 bits)

②O bit efetivo da chave é de 56 bits e, após o processamento da chave, uma chave de 48 bits é usada e os grupos esquerdo e direito são de 32 bits, portanto, E precisa ser estendido para 48 bits

Primeiro escreva de 1 a 32 bits em uma matriz de 4 linhas e 8 colunas em ordem e depois expanda nos lados esquerdo e direito. A expansão à esquerda é o número de posições na coluna mais à esquerda da matriz original menos um. Se houver não há como subtrair 1, os valores do 32º bit são colocados à esquerda de 1. A extensão correta é adicionar um à posição da coluna mais à direita da matriz original e colocar o valor da posição 1 à direita de 32. Desta forma, 32 bits são expandidos em

imagem-20230603201926191

③ Operação OR exclusiva (criptografia) do texto plano estendido (48 bits) e 48 bits do texto cifrado

④Como o texto simples de 32 bits é expandido para 48 bits, ele precisa ser restaurado para 32 bits usando a caixa S

Aqui está a caixa S com 6 entradas e 4 saídas

imagem-20230603201735146

imagem-20230603202020133

⑤ Os resultados obtidos na caixa S são substituídos pela caixa P

imagem-20230603201813064

3. Geração de chaves

A chave tem 64 bits e há 56 bits depois de remover o bit de paridade de 8 bits

①Chave semente, vermelho representa o dígito de verificação:

imagem-20230603202839353

② Depois de remover o dígito de verificação, execute a seleção de substituição 1 (PC1):

③56 bits são formados:

imagem-20230603202825630

④Dividido em duas partes, C0 e D0, que são 28 bits respectivamente

imagem-20230603202925488

⑤ C0 e D0 são deslocados circularmente para a esquerda de acordo com a lógica de cálculo chave para obter C1 e D1

imagem-20230603203137675

⑥Emenda C1 e D1—>tabela de substituição—>deslocamento para a esquerda—>C2, D2—>repita o processo acima

DES é um algoritmo determinístico .

4. A segurança do DES

DES não é seguro!

chave:

imagem-20230603203534368

DES tem chaves fracas e chaves semi-fracas. A chamada chave fraca refere-se à transformação de identidade de criptografar duas vezes sob a mesma chave, e existem 4 chaves fracas no DES

  1. 0101010101010101 (representação hexadecimal: 0x0101010101010101)
  2. FEFEFEFEFEFEFEFE (representação hexadecimal: 0xFEFEFEFEFEFEFEFE)
  3. E0E0E0E0F1F1F1F1 (representação hexadecimal: 0xE0E0E0E0F1F1F1F1)
  4. 1F1F1F1F0E0E0E0E (representação hexadecimal: 0x1F1F1F1F0E0E0E0E)

A geração da chave redonda é que a chave original é dividida nas metades esquerda e direita após a seleção de permutação 1 e, em seguida, deslocada ciclicamente e, finalmente, a chave redonda é gerada pela seleção de permutação 2, desde que os lados esquerdo e direito sejam ainda o mesmo após a mudança cíclica

Desde que 28 bits sejam todos zeros ou todos uns, os requisitos podem ser atendidos. Então são quatro:

1 é tudo zeros

2 significa que os 28 bits à esquerda são 0 e os 28 bits à direita são 1

3 significa que os 28 bits à esquerda são 1 e os 28 bits à direita são 0

4 é tudo 1. Selecione 1 por permutação inversa

Adicione o bit de paridade para obter as quatro chaves fracas à esquerda. As chaves fracas também reduzem pela metade o volume de pesquisa do DES sob ataques de texto simples escolhidos. No entanto, se a chave for escolhida aleatoriamente, a proporção de chaves fracas é extremamente pequena e não é difícil evitá-la com um pouco de cuidado. Portanto, a existência de chaves fracas não comprometerá a segurança do DES.

A chamada chave semi-fraca refere-se a alguns pares de chaves, k1 e k2 são diferentes entre si, mas o texto simples criptografado é o mesmo, ou seja, o texto cifrado criptografado com k1 pode ser descriptografado com k2.

3DES

O DES tem baixa segurança devido à sua chave curta, então as pessoas esperam usar vários métodos de criptografia para aumentar seu espaço de chave, melhorando assim sua segurança.

Multiple DES é usar várias chaves para criptografar texto simples várias vezes com DES. O uso de vários DES pode aumentar a quantidade de chaves, melhorando muito a capacidade de resistir a ataques exaustivos de pesquisa de chaves

imagem-20230603204436193

Este esquema ainda é suficientemente seguro

Modo de trabalho da cifra de bloco

①Modo livro de código elétrico (ECB)

Criptografar blocos de texto simples separadamente com a mesma chave

imagem-20230603204743195

Vantagens: Criptografar cada bloco de dados independentemente e pode criptografar em paralelo

Desvantagens: O mesmo texto simples gerará o mesmo texto cifrado, que não possui proteção de integridade de dados

imagem-20230603204824483

O mesmo grupo de texto simples sempre produz o mesmo grupo de texto cifrado. Isso expõe o formato e as características estatísticas dos dados de texto simples. Os dados de texto simples têm um formato fixo e precisam ser definidos na forma de um protocolo. Dados importantes geralmente aparecem na mesma posição, para que os criptoanalistas possam realizar análises estatísticas, retransmissões e ataques de substituição neles

que é usado para criptografar mensagens curtas

imagem-20230603204917136

② Modo CBC de encadeamento de blocos cifrados (Cipher Block Chaining)

A entrada do algoritmo de criptografia é o XOR do bloco de texto cifrado anterior e o próximo bloco de texto simples

imagem-20230604195731897

imagem-20230604195833682

Se ocorrer um erro em um bloco de blocos de texto cifrado durante a transmissão, isso afetará a descriptografia de outros blocos? Quantos grupos serão afetados? Isso é conhecido como propagação de erro em cifras de bloco. Obviamente, por exemplo, se C1 está errado, P1 está naturalmente errado e P2 também está errado e, como C2 não está errado, P3 não estará errado, ou seja, o comprimento de propagação do erro do modo CBC é 1, ou seja, além de ser afetado por si mesmo, no máximo um grupo é afetado por ele .

③ Modo Cipher Feedback CFB (Cipher Feedback)

Criptografe o bloco de texto cifrado anterior como entrada, gere um fluxo de chaves e execute a operação XOR com o bloco de texto simples atual para obter o bloco de texto cifrado

Modo de trabalho da cifra de fluxo

imagem-20230604195905942

Se a mensagem a ser criptografada precisar ser processada em termos de caracteres, bytes ou bits, o modo CFB pode ser usado. E o modo CFB no qual a mensagem a ser criptografada é processada por r bits é chamado de modo CFB de r bits.

imagem-20230604200245219

④Modo de feedback de saída OFB (Output Feedback)

imagem-20230604200421348

O modo OFB é estruturalmente semelhante ao modo CFB, mas o conteúdo do feedback é a saída do DES em vez do texto cifrado!

imagem-20230604200721645

⑤Modo contador

Cada bloco de texto simples é XORed com um contador criptografado. Para pacotes subseqüentes, o contador é incrementado em 1

imagem-20230604200808825

imagem-20230604200900985

Use uma chave fixa k para criptografar a sequência de números naturais 1, 2, 3, ..., n, ... e trate a sequência de bloco de texto cifrado obtida como uma sequência de fluxo de chaves, que é um XOR bit a bit com o bloco de texto simples no caminho da criptografia aditiva Caminho

Dessa forma, uma sequência de números pseudoaleatórios pode ser gerada, e suas características pseudoaleatórias são muito melhores do que as dos números aleatórios gerados por computadores.

imagem-20230604200957293

área

F é um conjunto não vazio que define duas operações binárias, adição e multiplicação, e é fechado para essas duas operações

imagem-20230603205805300

imagem-20230603205832666

imagem-20230603205846695

imagem-20230603205857712

Os elementos em GF(2 8) podem ser representados como números binários de 8 bits, ou seja, um byte. Adição e multiplicação são duas operações básicas definidas em GF(2 8).

imagem-20230603210154627

imagem-20230603210213788

AES

AES pertence ao algoritmo de criptografia de bloco

O comprimento do texto simples é fixado em 128 bits e o comprimento da chave pode ser de 128 bits, 192 bits ou 256 bits

imagem-20230605151328517

Insira texto simples de 128 bits, que são dados de 16 bytes, e os dados de 16 bytes formam uma matriz de 4 * 4, e o arranjo é o seguinte:

imagem-20230605151434644

Processo de criptografia AES

imagem-20230605153444803

Entre eles, durante 9 rodadas de operação cíclica, as etapas 1 a 4 são executadas e a última rodada (décima rodada) executa apenas 124 etapas

1. Transformação inicial

O texto simples de comprimento fixo de 16 bytes e a chave de M-byte formam uma matriz 4*4, respectivamente, e uma operação XOR é executada:

imagem-20230605153630967

detalhes como segue:

imagem-20230605153656316

2. Operação de loop

①Substituição de bytes: processar a matriz 4*4 após a transformação inicial

imagem-20230605153810733

Para o número 19 na primeira linha e primeira coluna da matriz representa o número na primeira linha e nona coluna da caixa S, substitua-o pelo número correspondente na tabela (o uso da caixa S de AES)

② mudança de linha

imagem-20230605153946145

A primeira linha permanece inalterada e a segunda, terceira e quarta linhas são movidas para a esquerda em 1, 2 e 3 bytes, respectivamente

③Mistura de coluna

Multiplique a matriz 4*4 de entrada à esquerda por uma matriz 4*4 dada

imagem-20230605154114194

A operação de multiplicação definida aqui não é uma operação de multiplicação algébrica!

④ Tecla redonda mais

Aqui está um conceito: chave redonda; a chave redonda é gerada de alguma forma através da chave inicial; a figura a seguir mostra a chave redonda gerada pela chave inicial, e o método de geração específico não é elaborado

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-bNmy7aNf-1687273027747)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230605154352671.png)]

XOR a matriz 4*4 obtida acima com a tecla de rodada correspondente a esta rodada

imagem-20230605154327638

Após 9 rodadas e uma rodada final, o texto cifrado final é obtido

SM4

O algoritmo de cifra SM4 é um algoritmo de bloco

O comprimento do bloco é de 128 bits e o comprimento da chave é de 128 bits; a palavra representa uma string de comprimento de 32 bits, portanto o comprimento do bloco e da chave é de 4 palavras

Processo de criptografia:
imagem-20230605155236388

1. 32 iterações

Entrada de texto sem formatação conhecida X0, X1, X2, X3 e calcula as palavras de X4-X35 sucessivamente (32 rodadas de cálculo)

Gerado da seguinte forma:

Ao calcular: calculado pela função arredondada F ; onde a operação F inclui uma operação T

imagem-20230605155608919

Cada rodada envolve uma chave de rodada , que é gerada a partir de cada chave de criptografia de 32 bits.

2. Transformação de ordem reversa

A alteração da ordem inversa é inverter o resultado calculado X32-X35

3. Cifra de fluxo

Ideia básica de cifra de fluxo

A cifra de fluxo (código de fluxo) é um sistema criptográfico importante, as mensagens de texto simples são criptografadas caractere por caractere ou bit a bit ; a cifra de fluxo também é chamada de cifra de sequência (cifra de sequência)

imagem-20230605165329142

O fluxo de chave é gerado por um gerador de fluxo de chave.

Um esquema de criptografia ideal chamado de cifra de preenchimento único ( o protótipo de uma cifra de fluxo aditivo )

imagem-20230603215011573

imagem-20230603215018073

Se a chave for usada como um fluxo de chaves contínuo, a cifra de fluxo aditivo degenera em um bloco de uso único.

O maior desejo do projetista de cifras é projetar um gerador de chaves rolantes, de modo que a sequência do fluxo de chaves a partir da qual a chave é expandida tenha as seguintes propriedades:

ciclo extremo

boas propriedades estatísticas

Análise anti-linear

Pseudo-aleatoriedade de Sequências Binárias

imagem-20230603215604316

Duração do passeio:

imagem-20230603215634969

imagem-20230603215642129

sequência pseudoaleatória

imagem-20230603215720375

imagem-20230603215805620

A sequência pseudoaleatória também deve atender às condições:

O período p deve ser grande o suficiente, como maior que 10^50;

A geração de sequência é fácil de gerar em alta velocidade;

Quando qualquer parte da sequência é exposta, é inviável computacionalmente analisar toda a sequência e extrair informações sobre a estrutura dos circuitos que a geraram, o que é chamado de imprevisibilidade. (Determinar a força da cifra é o núcleo da teoria da cifra de fluxo. Ela inclui muitas questões importantes a serem estudadas pela cifra de fluxo, como complexidade linear, imunidade de correlação, imprevisibilidade, etc.)

Registro de Deslocamento de Feedback Linear

imagem-20230604104200941

LFSR

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-q06leglA-1687273027750)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230604104430625.png)]

O período de estado do LFSR de nível n: <= 2^n-1, a sequência cujo período atinge o máximo é chamada de sequência m.

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-UzWFTHe0-1687273027750)(https://gitee.com/how-vague- and-fragile-love-is /images/raw/master/img2/02287E173883A1D220BABBA59E1BA960.png)]

algoritmo BM

Encontre a solução de síntese linear do registrador de deslocamento linear

Função: A partir da saída do registrador, inverter a estrutura do registrador

img

3. Algoritmo de chave pública

O sistema criptográfico de chave pública também é conhecido como: sistema criptográfico assimétrico

Algoritmos criptográficos simétricos tradicionais têm falhas

① Problema de distribuição de chave: antes da comunicação, o canal de comunicação precisa negociar a chave de criptografia, o que é difícil de implementar

② Quaisquer dois usuários têm uma chave privada compartilhada, o número de chaves é muito grande e a sobrecarga do sistema é grande

③ Nenhuma função de assinatura (quando o sujeito A recebe o documento eletrônico do sujeito B, não pode provar a terceiros que o documento eletrônico é de fato de B, e o algoritmo tradicional de criptografia de chave única não pode atender ao requisito de não repúdio )

Base teórica da criptografia de chave pública:

insira a descrição da imagem aqui

problema difícil

imagem-20230604114503323

RSA

imagem-20230604114747722

Elemento de módulo: elemento inverso!

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-jx3iPNqK-1687273027751)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230604115114429.png)]

Necessidade de usar Algoritmo Euclidiano Estendido

Problemas computacionais no algoritmo RSA:

O processo de criptografia e descriptografia do RSA é encontrar a potência inteira de um número inteiro e, em seguida, obter o módulo. Se for calculado diretamente de acordo com seu significado, o resultado intermediário é muito grande, podendo ultrapassar a faixa de valores inteiros permitida pelo computador. E use as propriedades da operação de módulo:

(a×b) mod n=[(a mod n)×(b mod n)] mod n

Exponenciação rápida:

Como melhorar a eficácia da operação exponencial em operações de criptografia e descriptografia. Por exemplo, para encontrar x16, você precisa fazer 15 multiplicações se calculá-lo diretamente. No entanto, se você repetir a operação de quadratura para cada resultado parcial para encontrar x, x2, x4, x8, x16, precisará apenas de 4 multiplicações

Para o caso mais geral:

Para uma string de números binários como um expoente, adicionar 0 à direita é equivalente ao quadrado do número e adicionar 1 à direita é equivalente a multiplicar o número pela base **

imagem-20230604131731026

A segurança do RSA é baseada na suposição da dificuldade de decompor inteiros grandes . Se o módulo n do RSA for decomposto com sucesso em p×q, então φ(n)=(p-1)(q-1) pode ser obtido imediatamente, de modo que Determine o inverso multiplicativo d de e módulo φ(n), ou seja, d≡e-1 mod φ(n), para que o ataque seja bem-sucedido.

img

El Gamal

① Processo de geração de chave: Selecione um número primo p e um número aleatório x menor que p, g é a raiz original de p e calcule y≡g^x mod p.

Harane:

img

Traga a raiz original resolvida e calcule y

imagem-20230605160539093

② Processo de criptografia

imagem-20230604143938316

③Processo de descriptografia

img

algoritmo ECC

O algoritmo ECC é baseado no problema do logaritmo discreto da curva elíptica

Existem dois pontos P e Q na curva elíptica, e k é um número inteiro. Se k e P forem dados, é fácil calcular Q:

imagem-20230604152128548

E dado P e Q, é muito difícil encontrar k

①Problema de adição da curva elíptica:

Como mostrado na figura acima, A+B representa o ponto de interseção da linha reta que passa pelos dois pontos A e B e a curva elíptica

Adição definida em curvas elípticas não é adição algébrica!

② Problema de multiplicação da curva elíptica:

Conhecendo o ponto A, como calcular 2A? 2A=A+A, com a ideia de adição, as posições de A e A podem ser consideradas como aproximação sem fio, neste momento, uma linha tangente é formada no ponto A, e o ponto onde a linha tangente se cruza com o curva elíptica é o ponto 2A

imagem-20230604154934511

Para calcular 3A, pode-se considerar como 3A=2A+A, que é o ponto de interseção da linha formada pelo ponto 2A e o ponto A e a curva elíptica:

imagem-20230604155023566

Pode ser visto que para o problema de multiplicação em curvas elípticas:

imagem-20230604155144099

É fácil calcular a posição do ponto Q com pontos k e pontos P conhecidos, mas como suas distribuições para A, 2A e 3A são imprevisíveis, é difícil calcular k por meio de pontos Q e P conhecidos!

③Processo de criptografia

imagem-20230604155317653

④ A curva elíptica é contínua e não é adequada para criptografia. Definir a curva elíptica em um campo finito pode transformar a curva elíptica em um ponto discreto!

Exemplo:

imagem-20230604155440657

Então, como seu ponto é calculado?

imagem-20230604155510765

Um exemplo de cálculo é o seguinte:

img

4. Função HASH

código de autenticação de mensagem

A autenticação de mensagens é o processo de verificação da autenticidade e integridade das mensagens recebidas, bem como a verificação da sequência e tempo das mensagens.

O mecanismo de autenticação de mensagem precisa gerar um autenticador .

Autenticador : Um valor numérico usado para autenticar a mensagem.

Métodos de geração de autenticador: código de autenticação de mensagem MAC (código de autenticação de mensagem) e função hash (função hash) duas categorias.

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-mUFevT7b-1687273027755)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230605160859426.png)]

A função MAC é semelhante ao algoritmo de criptografia, a diferença é que a função MAC não precisa ser reversível , portanto, é menos provável que seja quebrada do que o algoritmo de criptografia

função hash

O objetivo da função Hash é gerar uma "impressão digital" para os dados a serem autenticados

Definição da função Hash: Mapeie uma mensagem arbitrariamente longa M para um valor mais curto e de comprimento fixo H(M).

A função hash H é geralmente pública.

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-o2FjJECX-1687273027755)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230604161738478.png)]

O objetivo da função Hash é gerar uma "impressão digital" para os dados a serem autenticados . A função Hash deve atender às seguintes condições:

A entrada da função Hash pode ser arbitrariamente longa

A saída da função Hash é um comprimento fixo

Fácil de implementar em software e hardware

imagem-20230604161934406

imagem-20230604162054343

Três relações de segurança:

imagem-20230604162109790

ataque de aniversário

O chamado algoritmo de hash é tentar a entrada de entrada de tamanhos diferentes para obter uma saída confortável de string de comprimento fixo

Obviamente, a mesma entrada definitivamente obterá a mesma saída (efeito avalanche)

No entanto, com entradas diferentes, é possível obter a mesma saída (colisão de hash)

Ataque de aniversário:

imagem-20230604163657587

Quando k=23, P(365,23)=0,5073, ou seja, apenas 23 pessoas são necessárias para o problema acima, e o número de pessoas é muito pequeno.

Se k=100, então P(365,100)=0,9999997, ou seja, uma probabilidade tão grande é obtida.

A razão pela qual esse problema é chamado de paradoxo é que, quando o número de pessoas k é dado, a probabilidade de pelo menos duas pessoas fazerem aniversário no mesmo dia é muito maior do que se imaginava.

SHA-1

Entrada para o algoritmo: qualquer mensagem com menos de 2^64 bits de comprimento, dividida em pacotes de 512 bits.

Saída do algoritmo: resumo de mensagem de 160 bits.

Etapas do algoritmo:

① Preencha a mensagem de forma que o comprimento L da mensagem satisfaça:

imagem-20230604165939626

Como compensar isso?

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-7zlUfBb9-1687273027756)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230604170001223.png)]

Então 512-448=64, os 64 bits restantes representam o comprimento da mensagem

Por exemplo:

imagem-20230604170130039

O comprimento da mensagem é de 24 bits, e 64 bits são deixados como o comprimento da mensagem, então 512-64-24=424, então 424 bits são preenchidos com 64 bits para indicar o comprimento da mensagem, então o valor máximo do comprimento da mensagem não pode exceder 2^64

SM3

Insira uma mensagem m de comprimento l, onde o comprimento dos dados de entrada é menor que 2 ^ 64

Emita um valor de hash com um comprimento de 256 bits

Entre eles, o comprimento da mensagem m é de 1 bit e a operação de preenchimento também é necessária: (o mesmo método de preenchimento do SHA-1)

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo anti-leeching, é recomendável salvar a imagem e carregá-la diretamente (img-WAS0mSFt-1687273027757)(https://gitee.com/how-vague-and -fragile-love-is /images/raw/master/img2/image-20230604185047054.png)]

Processo subsequente: (independentemente)

imagem-20230604185554117

6. Assinatura digital

Assinatura digital: é usada para assinar mensagens digitais para evitar falsificação ou adulteração de mensagens, e também pode ser usada para verificação de identidade de ambas as partes na comunicação.

imagem-20230604185945732

assinatura digital RSA

imagem-20230604190648737

Segurança: a dificuldade de decompor grandes números

imagem-20230604190949991

imagem-20230604191131989

Padrão de assinatura digital DSS

Algoritmo não determinístico: o mesmo texto cifrado obtém assinaturas diferentes após a assinatura

Baseado na dificuldade de resolver logaritmos discretos

Assinatura ElGamal

insira a descrição da imagem aqui

H(m) representa o valor de hash do texto simples

O algoritmo de assinatura é baseado no problema do logaritmo discreto, que é difícil

imagem-20230604192253811
insira a descrição da imagem aqui

① Se k for revelado, mesmo que outros parâmetros permaneçam secretos, um invasor pode usar a mesma mensagem e assinatura conhecida para calcular a chave privada x. Portanto, para garantir a segurança da assinatura, o nonce k deve ser mantido em segredo e um novo nonce deve ser usado para cada assinatura. No uso real, o número aleatório k pode ser selecionado por um gerador de número pseudo-aleatório, e o número aleatório gerado é garantido como suficientemente aleatório e seguro.

② Assinar mensagens diferentes com o mesmo valor k vazará a chave privada

imagem-20230604193001780

Sistema de prova interativo

insira a descrição da imagem aqui

A diferença entre prova interativa e prova matemática: O certificador da prova matemática pode completar a prova de forma independente, enquanto a prova interativa é realizada por P gerando a prova e V verificando a validade da prova , então a comunicação entre as duas partes através de um determinado canal é necessário de.

O sistema de prova interativa deve atender aos seguintes requisitos:

① Completude: Se P conhece um segredo, V aceitará a prova de P.

② Confiabilidade: Se P pode convencer V com certa probabilidade da prova de P, então P conhece o segredo correspondente.

7. Protocolo de senha

algoritmo DH

O algoritmo DH pertence ao algoritmo de criptografia de chave pública, e o algoritmo de criptografia de chave pública é complicado de criptografar e leva muito tempo. Portanto, cifras simétricas são usadas ao criptografar e descriptografar dados.No entanto, as cifras simétricas precisam estabelecer uma comunicação segura, mas nenhum canal de comunicação é completamente seguro, portanto, o gerenciamento de chaves requer o algoritmo DH.

Uma chave de troca usada para se comunicar com segurança entre duas partes

Fórmula principal:

imagem-20230604194102807

imagem-20230604194204719

Fundamental:

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-6MYn18KI-1687273027760)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230604194217154.png)]

img

Esquema de Limiar de Shamir

Conceitos gerais de esquemas de limites:

O segredo s é dividido em n partes, cada parte é chamada de sombra, mantida por um participante, de modo que parte da informação mantida por k ou mais participantes pode reconstruir s; Parte da informação mantida pelos participantes não pode reconstruir s.

é chamado (k,n)de esquema de limite de divisão secreto, k é chamado de valor de limite,

imagem-20230605233649040

Protocolo de autenticação Kerberos

imagem-20230605163024078

imagem-20230605163042913

Processo da sessão:

[Falha na transferência da imagem do link externo, o site de origem pode ter um mecanismo de link anti-roubo, é recomendável salvar a imagem e carregá-la diretamente (img-5hHAw9o8-1687273027761)(https://gitee.com/how-vague- e-fragile-love-is /images/raw/master/img2/image-20230605163148467.png)]

senha única

No sistema de informação, o nome de usuário + senha (entendido como senha) é frequentemente usado para provar a identidade, então a senha fácil de adivinhar ou a senha padrão é um problema de verificação de peso

imagem-20230605163804766

Adicionar fatores incertos no processo de login, para que as informações transmitidas em cada processo de login sejam diferentes

Carimbos de data/hora de importação:
insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/kevvviinn/article/details/131317224
Recomendado
Clasificación