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.
Diretório (observe os pontos-chave)
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.
Incondicionalmente seguro e computacionalmente seguro:
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
Requisitos que uma cifra de bloco deve satisfazer:
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
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
Os algoritmos devem ser fáceis de analisar e o software deve ser fácil de implementar
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.
Ao criptografar:
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
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
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
③ 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
⑤ Os resultados obtidos na caixa S são substituídos pela caixa P
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:
② Depois de remover o dígito de verificação, execute a seleção de substituição 1 (PC1):
③56 bits são formados:
④Dividido em duas partes, C0 e D0, que são 28 bits respectivamente
⑤ 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
⑥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:
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
- 0101010101010101 (representação hexadecimal: 0x0101010101010101)
- FEFEFEFEFEFEFEFE (representação hexadecimal: 0xFEFEFEFEFEFEFEFE)
- E0E0E0E0F1F1F1F1 (representação hexadecimal: 0xE0E0E0E0F1F1F1F1)
- 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
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
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
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
② 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
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
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.
④Modo de feedback de saída OFB (Output Feedback)
O modo OFB é estruturalmente semelhante ao modo CFB, mas o conteúdo do feedback é a saída do DES em vez do texto cifrado!
⑤Modo contador
Cada bloco de texto simples é XORed com um contador criptografado. Para pacotes subseqüentes, o contador é incrementado em 1
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.
á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
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).
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
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:
Processo de criptografia AES
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:
detalhes como segue:
2. Operação de loop
①Substituição de bytes: processar a matriz 4*4 após a transformação inicial
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
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
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
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:
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
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)
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 )
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
Duração do passeio:
sequência pseudoaleatória
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
LFSR
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.
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
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:
problema difícil
RSA
Elemento de módulo: elemento inverso!
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 **
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.
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:
Traga a raiz original resolvida e calcule y
② Processo de criptografia
③Processo de descriptografia
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:
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
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:
Pode ser visto que para o problema de multiplicação em curvas elípticas:
É 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
④ 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:
Então, como seu ponto é calculado?
Um exemplo de cálculo é o seguinte:
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.
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.
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
Três relações de segurança:
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:
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:
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:
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)
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.
assinatura digital RSA
Segurança: a dificuldade de decompor grandes números
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
H(m) representa o valor de hash do texto simples
O algoritmo de assinatura é baseado no problema do logaritmo discreto, que é difícil
① 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
Sistema de prova interativo
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:
Fundamental:
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,
Protocolo de autenticação Kerberos
Processo da sessão:
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
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: