Colección de citas famosas - Frases motivadoras - Descripción del caso de firma digital

Descripción del caso de firma digital

La transmisión de datos en red generalmente utiliza algoritmos de cifrado simétrico

Debido a problemas de eficiencia, los algoritmos de cifrado asimétrico solo se utilizan para cifrar las claves secretas de los algoritmos de cifrado simétrico y para firmas digitales

p>

Antes de la operación, tanto el servidor como el cliente tienen las claves públicas de ambas partes

Clave pública RSA de Android-->Enviar al servidor

RSA del servidor clave pública- ->Enviada al cliente

Por ejemplo, el cliente verifica la autenticidad del servidor

Cliente Android (tiene clave AES)

Usa asimétrica algoritmo de cifrado Es decir, la clave pública RSA del servidor cifra la clave AES del cliente Android

Luego, Http Get solicita y envía la clave secreta AES del cliente Android al servidor

Después de que el servidor recibe la solicitud, use su propia clave privada RSA para descifrar la solicitud para obtener la clave AES de Android y luego firme los datos enviados al cliente de Android, como byte [] datos, es decir, firme

Use firmar y datas junto con el cliente de Android La clave AES se cifra y luego se envía al cliente de Android

Después de recibirla, el cliente de Android usa su propia clave AES para descifrar todo el paquete de datos. se separa y se obtienen el signo y los datos, y luego verifica el signo. El método de verificación es utilizar la clave pública del servidor con el parámetro signo para la verificación de la firma.

La clave privada RSA del servidor se utiliza para firmar. el signo, debido a que la longitud del signo es fija (y la clave secreta inicializada tiene la misma longitud), por lo que es fácil separar datos

Por ejemplo, después del descifrado, str.substring() puede separar datos y firmar