¿Qué es un "dongle"?
"Dongle" es un producto de cifrado de software y hardware que se conecta al puerto paralelo de una computadora. Generalmente, hay decenas o cientos de bytes de espacio de almacenamiento no volátil disponibles para lectura y escritura, y ahora los perros más nuevos también contienen microcontroladores en su interior. Los desarrolladores de software pueden usar funciones de interfaz para intercambiar datos con el software dog (es decir, leer y escribir el software dog) para verificar si el software dog está conectado al puerto paralelo o usar directamente las herramientas proporcionadas con el software dog para cifrar su; propios archivos EXE (comúnmente conocido como "encapsulación"). De esta manera, los desarrolladores de software pueden configurar múltiples bloqueos de software en el software y usar el perro del software como llave para abrir estos bloqueos. Si el perro del software no está insertado o el perro del software no corresponde, el software no se ejecutará normalmente.
El dongle logra el cifrado intercambiando datos con el dongle durante la ejecución del software. El dongle tiene un circuito microcontrolador incorporado (también llamado CPU), que permite que el dongle tenga las capacidades de procesamiento de. juicio y análisis, mejorando las capacidades anti-descifrado de la iniciativa. Este producto de cifrado se denomina dongle "inteligente". El microcontrolador integrado del dongle contiene un software de algoritmo dedicado al cifrado. Una vez que el software se escribe en el microcontrolador, no se puede leer. De esta manera, se garantiza que el hardware del dongle no se pueda copiar. Al mismo tiempo, los algoritmos de cifrado son impredecibles e irreversibles. El algoritmo de cifrado puede convertir un número o carácter en un número entero, como DogConvert(1)=17345, DogConvert(A)=43565. A continuación, damos un ejemplo para ilustrar el uso de algoritmos de microcontroladores.
Por ejemplo, hay una frase en un programa: A=Fx(3). El programa necesita obtener el valor de la variable A basándose en la constante 3. Por lo tanto, podemos reescribir el programa original así: A=Fx(DogConvert(1)-12342). Entonces la constante 3 no aparecerá en el programa original, pero se utilizará DogConvert(1)-12342. De esta manera, sólo el escritor del software sabe que la constante real llamada es 3. Si no hay un dongle, la función DogConvert no puede devolver el resultado correcto y el resultado del cálculo A=Fx(DogConvert(1)-12342) definitivamente no será correcto. Este método de cifrado que evita que los usuarios pirateados pierdan el valor del software es más suave, más encubierto y más difícil de descubrir para los descifradores que el método de cifrado que advierte y detiene el uso ilegal tan pronto como se descubre. Además, el dongle también tiene funciones de lectura y escritura que se pueden usar para leer y escribir la memoria dentro del dongle. Entonces también podemos escribir 12342 en la fórmula anterior en la memoria del perro, haciendo que el valor de A dependa completamente de los resultados de las funciones DogConvert() y DogRead(), lo que dificulta aún más el descifrado. Sin embargo, en términos generales, la dificultad del algoritmo del microcontrolador dongle es menor que la de algunos algoritmos de cifrado públicos, como DES, porque el descifrador tiene que enfrentar muchas dificultades antes de tocar el algoritmo dongle.