Intercambio de bitcoins Intercambio de bitcoins
Ctrl+D Intercambio de bitcoins
ads
Casa > BNB > Info

¿Cómo se aplican las primitivas criptográficas? Análisis de codificación y decodificación de datos específicos de criptografía

Author:

Time:

¿Cómo se relaciona la implementación de ingeniería del esquema de protección de la privacidad con los símbolos de fórmula similares a los de la Biblia en los trabajos académicos? En ingeniería criptográfica, ¿cuáles son los métodos únicos de codificación y decodificación de datos, qué malentendidos cognitivos y precauciones existen, y qué limitaciones y desafíos deben superarse?

Como tecnología central que respalda el esquema de protección de la privacidad, cómo usar la codificación y decodificación de datos para incorporar los símbolos y fórmulas matemáticas abstractas en los documentos de criptografía en datos privados específicos en los negocios es el primer umbral que debe cruzarse en la transformación de los logros académicos para industria.

El lenguaje matemático utilizado en los trabajos académicos es muy diferente del lenguaje de programación de código utilizado en ingeniería. Muchas propiedades y procesos que son fáciles de definir matemáticamente son bastante desafiantes para proporcionar una implementación efectiva en ingeniería. La implementación incorrecta puede incluso destruir los supuestos de seguridad en el esquema académico, lo que eventualmente conducirá al fracaso del esquema y la fuga de datos privados.

Los algoritmos criptográficos de uso común tienen una variedad de métodos de codificación y decodificación estandarizados, que se pueden aplicar a los esquemas de protección de la privacidad para resolver los problemas correspondientes. Lo siguiente se expandirá uno por uno.

Enigma de la aplicación comercial: discordancia de tipos

El Camino de la Realización de la Ingeniería: Mapeo de Datos

En los negocios reales, los datos privados se pueden expresar como una variedad de tipos de datos. Estos tipos generalmente no cumplen con los requisitos de tipos específicos en el protocolo de criptografía y no se pueden usar directamente. Este es el primer problema que debemos resolver: la falta de coincidencia de tipos de datos.

Por ejemplo, en un sistema comercial, el monto de una transacción es un número entero largo, y los algoritmos criptográficos comunes pueden requerir que la entrada sea un elemento en un grupo cíclico finito.Si el valor de un número entero largo se usa directamente, el valor puede no estar en el correspondiente En el grupo cíclico finito de ; en el sistema de curva elíptica, un solo valor debe convertirse en una coordenada de punto en la curva, y un valor debe convertirse en la forma de coordenadas de dos valores.

En vista de los problemas anteriores, en la implementación de la ingeniería criptográfica, el procesamiento de conversión de tipos generalmente se realiza a través del mapeo de datos. Específicamente, los datos privados del usuario se transforman en el tipo de datos requerido por el protocolo de cifrado específico a través de un método determinado.

A continuación se toma el cifrado y descifrado de Elliptic Curve (Curva Elíptica) en criptografía como ejemplo para introducir un método común de mapeo de datos.

Una curva elíptica puede entenderse simplemente como la definición de un conjunto de puntos específicos. Por ejemplo, la siguiente fórmula define un tipo más común de curva elíptica:

Los puntos (x, y) que satisfacen la fórmula están todos en la curva elíptica. La criptografía de curva elíptica implementa funciones de cifrado y descifrado definiendo operaciones de puntos relevantes en un conjunto de puntos limitado.

En el proceso de cifrado y descifrado de curva elíptica, el primer problema es "cómo incrustar los datos que se cifrarán en la curva elíptica y completar la operación de cifrado a través de operaciones puntuales". Esto requiere mapear los datos de texto plano m a un punto específico M(x, y) en la curva elíptica.

El método de codificación de datos consiste en convertir los datos de texto sin formato m en el valor de la coordenada x de un punto en la curva elíptica, y luego calcular el número cuadrado completo de m^3 + am + b para obtener y, de modo que m se convierta en el punto M(x, y).

El método de decodificación de datos es relativamente sencillo.Después de descifrar y restaurar el punto de datos de texto sin formato M, lea el valor de la coordenada x de M y luego restáurelo a la información de texto sin formato m a través de la conversión base.

Chia subió a 2500 USDT en OKEx y ahora se informa a 709 USDT: a las 2:00 a. m. de hoy, Chia abrió la función de transferencia y OKEx abrió el comercio de Chia (XCH). era 495 USDT. El navegador muestra que las tenencias oficiales de 21 millones no han cambiado. [2021/5/4 21:21:51]

Sin embargo, las curvas elípticas criptográficas se definen sobre campos finitos, es decir, un conjunto discreto de puntos en la curva. Esto conducirá a que el cálculo del número cuadrado perfecto no necesariamente existe, es decir, x no tiene una y correspondiente en la curva elíptica, entonces algunos datos de texto sin formato no se pueden convertir en puntos en la curva elíptica, lo que resulta en que algunos datos no se pueden convertir. cifrarse directamente.

En el esquema de ingeniería real, para garantizar la usabilidad del cifrado y descifrado de curva elíptica, se agregarán otros mecanismos de codificación de expansión más complejos para hacer frente a la falla de la conversión de datos de texto sin formato.

En términos generales, cuantos más tipos de requisitos se definan en un protocolo criptográfico, más compleja será la implementación de ingeniería del mapeo de datos Si hay una falta de algoritmos de codificación y decodificación de datos eficientes y soporte de optimización de hardware, incluso si la complejidad computacional teórica del protocolo criptográfico Por muy bajo que sea, al final será difícil que sea práctico.

El mapeo de datos específico involucra muchos detalles del proceso y parámetros del algoritmo. Una vez que hay una ligera diferencia, es muy probable que los datos generados por el algoritmo de codificación no coincidente no se decodifiquen, lo que resultará en la pérdida de datos privados y la interrupción del negocio.

Por lo tanto, en la implementación de proyectos específicos, el mapeo de datos debe seguir estrictamente los requisitos de implementación de los estándares de ingeniería existentes.Tomando como ejemplo el National Secret SM2, puede consultar GM/T0009-2012 "SM2 Cryptographic Algorithm Usage Specifications", GM /T0010-2012 "SM2 Una serie de normas técnicas relacionadas, como "Especificación de sintaxis de mensaje de firma cifrada de algoritmo criptográfico".

Problema de la aplicación empresarial: los datos son demasiado largos

La forma de realización de la ingeniería: agrupación de datos

Además de la falta de coincidencia de tipos, el algoritmo central utilizado en el protocolo criptográfico a menudo tiene ciertos requisitos sobre la longitud de los datos de entrada. Sin embargo, en aplicaciones prácticas, es necesario procesar datos privados de diferentes necesidades comerciales, y es difícil limitar su longitud, y es inevitable que la longitud de los datos exceda la longitud de procesamiento del algoritmo central.

Por ejemplo, los algoritmos AES de cifrado simétrico AES-128 y AES-256 indican que los bits de clave utilizados son 128 bits y 256 bits respectivamente, pero los datos procesados ​​durante una operación criptográfica de un solo núcleo durante el proceso de cifrado se fijan en 128 bits.

En respuesta a los problemas anteriores, en la implementación de la ingeniería criptográfica, los datos generalmente se procesan por agrupación, es decir, se dividen en partes, y los datos largos se dividen en múltiples bloques de datos más cortos que cumplen con los requisitos de longitud.

Ejemplos típicos son los cifrados de bloque como AES, DES, etc. Como sugiere el nombre, el cifrado de bloques consiste en agrupar los datos de entrada en bloques de datos de longitud fija y luego utilizar el bloque de datos como la unidad de procesamiento del algoritmo criptográfico central para el cifrado y descifrado.

Para mantener la seguridad de la solución después de agrupar los datos, la tecnología de agrupación de datos no solo divide los datos, sino que también necesita introducir operaciones de proceso adicionales.

A continuación, se toma como ejemplo el cifrado de clave AES de 256 bits para presentar los modos de cifrado de bloque típicos ECB, CBC y CTR.

 Modo ECB (Libro de códigos electrónico)

ECB es el modo de cifrado de bloque más simple y también es un modelo de modo de bloque inseguro.

Suponiendo que hay 1280 bits de datos para cifrar, el modo ECB los divide en diez bloques de datos de 128 bits en promedio. Cada bloque de datos se cifra individualmente con la misma clave para generar un texto cifrado de bloque y, finalmente, el texto cifrado de bloque se concatena para generar el texto cifrado final.  

La función de encriptación del modo ECB es que, bajo el mismo texto sin formato y clave, el texto cifrado es el mismo, por lo que se filtra la correlación entre los datos de texto sin formato y los datos de texto cifrado, y no se recomienda su uso en ningún esquema de protección de la privacidad.

  Modo CBC (Encadenamiento de bloques de cifrado)

El modo CBC evita las desventajas del modo ECB mediante la concatenación de datos de los bloques de datos anteriores y posteriores.

De manera similar al modo ECB, en el modo CBC, cada bloque de texto sin formato se somete a XOR con el bloque de texto cifrado anterior antes de cifrarse. En este enfoque, cada bloque de texto cifrado depende de todos los bloques de texto sin formato que lo preceden. Al mismo tiempo, para garantizar la aleatoriedad de cada texto cifrado de datos, es necesario utilizar un bloque de datos aleatorio como vector de inicialización IV en el primer bloque.

El modo CBC resuelve el problema de seguridad del modo ECB, pero también trae ciertos problemas de rendimiento. Su principal desventaja es que cada bloque de texto cifrado depende de todos los bloques de texto sin formato anteriores, lo que da como resultado un proceso de cifrado en serie que no se puede paralelizar.

Modo CTR (Contador)

La aparición del modo CTR hace que el cifrado de bloques sea más seguro y paralelo Al incrementar un contador de cifrado para generar un flujo de clave continuo, el cifrado de bloque se convierte en un cifrado de flujo para el procesamiento de cifrado, que es más seguro.

Los procesos de cifrado y descifrado de CTR se pueden procesar en paralelo, lo que permite lograr un procesamiento simultáneo de alto rendimiento de datos privados masivos en hardware multiprocesador, que actualmente es el modo de agrupación de datos más recomendado.

La agrupación de datos en protocolos criptográficos es muy diferente de la agrupación de datos en el procesamiento tradicional de big data. Idealmente, los paquetes de datos no deberían debilitar la fuerza de la protección de la privacidad y no deberían brindar oportunidades para que los atacantes obtengan información no autorizada. Esto a menudo implica un diseño cuidadoso del esquema de agrupación de datos y no puede considerarse simplemente como un procesamiento por lotes después del bloque de datos.

Problema de la aplicación empresarial: los datos son demasiado cortos

La forma de realización de la ingeniería: relleno de datos

Los datos que son demasiado largos son un problema, y ​​los datos que son demasiado cortos suelen ser un problema.

Durante el procesamiento de paquetes anterior, la longitud de datos en el último bloque de datos es insuficiente y el algoritmo central en el protocolo criptográfico también puede fallar.

Suponga que la longitud de un bloque de datos procesado por un protocolo criptográfico debe ser de 6 bytes y la longitud de los datos privados que se cifrarán es de 7 bytes. Use dos números hexadecimales para representar un byte de datos, el ejemplo es el siguiente:

b1 b2 b3 b4 b5 b6 b7

7 bytes es más largo que la longitud de procesamiento de un bloque de datos de 6 bytes, por lo que los datos se agruparán y se pueden dividir en dos bloques de datos. Los ejemplos de agrupación son los siguientes:

Primer bloque de datos: b1 b2 b3 b4 b5 b6

Segundo bloque de datos: b7

Donde el primer bloque de datos tiene exactamente 6 caracteres y el segundo bloque de datos tiene solo 1 byte, este bloque de datos es demasiado corto, no cumple con el requisito de procesamiento.

En vista de los problemas anteriores, en la implementación de la ingeniería criptográfica, generalmente se procesa mediante el relleno de datos, es decir, los bloques de datos cortos se llenan hasta la longitud de bytes requerida. En el ejemplo, el segundo bloque de datos debe llenarse con datos para compensar los 5 bytes que faltan.  

Similar a la agrupación de datos, el llenado de datos aquí no es un llenado de datos ordinario y también debe cumplir con ciertos requisitos de seguridad. El estándar de llenado de datos más utilizado es PKCS#7, que también es el modo de llenado de datos adoptado por defecto por el protocolo OpenSSL.

  PKCS#7 relleno

Las partes que deben completarse registran el número total de bytes llenados. Aplicado al segundo bloque de datos en el ejemplo, los 5 bytes se llenan con 5 datos y el efecto de llenado es el siguiente:

b7 05 05 05 05 05

Todavía hay un problema aquí: si el último grupo de datos privados es solo un dato que cumple con sus reglas de llenado, ¿cómo distinguir si son los datos originales o los datos completos cuando los datos originales se extraen después?

La clave para evitar esta ambigüedad es que los datos sin procesar de cualquier longitud requieren relleno de datos en el último bloque de datos.

Vale la pena señalar que al encriptar datos privados, si se procesa de acuerdo con un modo de llenado específico, los datos llenados también se encriptarán y pasarán a formar parte de los datos de texto sin formato antes del cifrado. Al descifrar, el modo de relleno debe ser el mismo que el modo de relleno al cifrar, para que los datos de relleno se puedan eliminar correctamente y se puedan extraer los datos privados correctos.

En el proceso de codificación y decodificación del esquema de protección de la privacidad, el mapeo de datos, la agrupación de datos y el llenado de datos mencionados anteriormente son enlaces necesarios para garantizar la seguridad de los datos privados. Además, bajo requisitos de cumplimiento específicos, el sistema comercial real también debe introducir enlaces de preprocesamiento de datos más relevantes, como desensibilización de datos, autenticación de datos, etc., para que los riesgos potenciales de privacidad puedan reducirse lo antes posible antes de que ingresen los datos. El protocolo criptográfico.

Exactamente: ¡las fórmulas teóricas son un libro de competencia abstracto, y la codificación de ingeniería es un laberinto con manos hábiles!

Existe una gran brecha técnica entre los símbolos de fórmula de los trabajos académicos y la implementación de ingeniería disponible de los esquemas de protección de la privacidad, y la codificación y decodificación de datos única de la criptografía es la piedra angular de nuestro puente para realizar la transformación industrial de los logros académicos.

La tecnología de codificación y decodificación de datos segura y eficiente es de gran importancia para el procesamiento de aplicaciones de datos privados masivos con 5G e Internet de las cosas como el punto explosivo. Es la primera línea de defensa para los datos privados que ingresan y salen del sistema comercial, y su importancia no es menor que la de otras primitivas criptográficas.

Después de comprender la codificación y decodificación de datos, el siguiente paso es ingresar las primitivas de criptografía relacionadas con aplicaciones específicas. Para obtener más detalles, preste atención a la descomposición a continuación.

Tags:

BNB
El futuro de la colaboración social: autonomía descentralizada

Muchas de estas ideas se basan en blockchain y criptografía y giran en torno a "organizaciones autónomas descentralizadas". Pero encontré un espacio más grande para la discusión.

Blockchain + identidad digital: un nuevo campo de batalla para la autenticación de identidad, deja volar las balas por un tiempo

El economista estadounidense Brian Arthur escribió esta frase en su libro "La naturaleza de la tecnología": "La tecnología siempre pasa por un ciclo de este tipo.

Se perdió la semana de transmisión en vivo de hadas "Houlang" en el círculo de la moneda, pero no se pierda nada?

Golden Finance·Transmisión en vivo  >  La semana de transmisión en vivo del hada "Houlang" en el círculo monetario se llevará a cabo del 11 al 15 de mayo y llegará a una conclusión perfecta.

¿Cómo se aplican las primitivas criptográficas? Análisis de codificación y decodificación de datos específicos de criptografía

¿Cómo se relaciona la implementación de ingeniería del esquema de protección de la privacidad con los símbolos de fórmula similares a los de la Biblia en los trabajos académicos? En ingeniería criptográfica.

Primer lanzamiento: entrevista exclusiva con Justin Sun: si TRC20-USDT puede subvertir el mercado de DeFi.

Desde que entró en 2020, el desarrollo de DeFi (finanzas descentralizadas) puede describirse como giros y vueltas. A principios de año, los fondos bloqueados de los proyectos se dispararon por completo.

BitcoinHD ha enviado una solicitud de listado a Coinbase

Según informes de medios extranjeros de Nasdaq, Singapur, 11 de mayo de 2020 (ACN Newswire): BHD ha presentado una solicitud de cotización en Coinbase.

Tendencia dorada 丨 BTC todavía tiene una posibilidad de aumento a corto plazo, ¿habrá una caída en el futuro?

El precio actual fluctúa en un pequeño rango entre las líneas 5 y 20. La línea 5 cruza la línea 10.

ads