We briefly explain how to implement the morphisms in our paper ``Natural representations of black box groups encrypting $SL_2(\mathbb{F})$" and provide some examples.
- ID del artículo: 2510.14569
- Título: Una implementación de los morfismos SL2(F)→SL2(K)→X
- Autores: Alexandre Borovik, Şükrü Yalçınkaya
- Clasificación: math.GR (Teoría de Grupos)
- Fecha de publicación: 16 de octubre de 2025
- Enlace del artículo: https://arxiv.org/abs/2510.14569
Este artículo explica brevemente cómo implementar los morfismos presentados en el trabajo "Representaciones naturales de grupos de caja negra que cifran SL2(F)" y proporciona algunos ejemplos. Los autores ofrecen una implementación completa en GAP disponible en GitHub.
El problema central abordado en este artículo es la construcción e implementación de morfismos de grupos de caja negra:
SL2(F)→SL2(K)→X
donde:
- SL2(F) es el grupo de matrices 2×2 con determinante 1 sobre un campo primo finito F (de característica impar)
- X es un grupo de caja negra que cifra SL2(F)
- SL2(K) es el grupo de matrices 2×2 con determinante 1 sobre un campo de caja negra K (que cifra F)
- Aplicaciones prácticas de la teoría computacional de grupos: Los algoritmos de grupos de caja negra tienen importancia significativa en criptografía y teoría de complejidad computacional
- Transformación de teoría a práctica: Conversión de construcciones abstractas de teoría de grupos en algoritmos ejecutables
- Computación eficiente sobre campos grandes: Optimización especialmente dirigida a grupos sobre campos finitos muy grandes
- Manejo de grupos de caja negra con estructura desconocida
- Construcción de operaciones de campo sin conocer la estructura del dominio
- Implementación de algoritmos de construcción de grupos complejos
- Proporciona una implementación completa en GAP: Conversión de algoritmos teóricos en código ejecutable
- Construye una implementación de caja negra de PGL2: Mediante incrustación diagonal y producto semidirecto
- Implementa cálculos explícitos de morfismos: Incluyendo descomposición de elementos y construcción de mapeos
- Proporciona un marco de verificación: Mediante comparación de órdenes y verificación de relaciones de conmutación de Chevalley
Dado un grupo de caja negra X≅SL2(F), donde F es un campo primo finito desconocido, construir morfismos explícitos:
- SL2(F)→SL2(K): Del grupo conocido al grupo sobre el campo de caja negra
- SL2(K)→X: Del grupo sobre el campo de caja negra al grupo de caja negra original
Primero se construye PGL2(F) mediante los siguientes pasos:
- Construcción de toros: Se construyen dos toros S y R en X, donde el automorfismo diagonal α centraliza S e invierte R
- Incrustación diagonal: Se define
X~={(x,xα)∣x∈X}
- Producto semidirecto: Se construye Y=X~⋊⟨α⟩≅PGL2(F)
Los elementos en Y se representan como:
- (x,xα,0): Pertenecientes a la clase lateral X~
- (x,xα,1): Pertenecientes a la clase lateral X~α
Reglas de multiplicación del grupo:
- (x,xα,0)∘(y,yα,0)=(xy,xαyα,0)
- (x,xα,0)∘(y,yα,1)=(xy,xαyα,1)
- (x,xα,1)∘(y,yα,0)=(xyα,xαy,1)
- (x,xα,1)∘(y,yα,1)=(xyα,xαy,0)
- Construcción de campos de caja negra: Construcción de operaciones de campo mediante métodos de teoría de grupos sin conocer la estructura del dominio
- Matrices de cambio de base: Implementación de la transformación de SO3♯ a SO3♭
- Algoritmo de descomposición de elementos: Descomposición de matrices 2×2 en productos de elementos unipotentes
- Sistema computacional: GAP (Grupos, Algoritmos, Programación)
- Grupos de prueba: SL2(997) (997 es primo)
- Límite de tamaño de campo: El algoritmo requiere que el tamaño del campo base sea al menos 13
- SetUpForPGL2("S", "Eo")
- Entrada: Conjunto generador S y parte impar del exponente Eo
- Salida: Todas las herramientas necesarias para construir PGL2
- ToolBoxSL2("S", "E")
- Entrada: Conjunto generador S y exponente arbitrario E
- Salida: Lista de herramientas con 12 elementos
- SharpVsFlat("TB")
- Entrada: Salida de ToolBoxSL2
- Salida: Matriz de cambio de base
- Comparación de órdenes: Verificación de que el elemento original y su imagen tienen el mismo orden
- Relaciones de conmutación de Chevalley: Verificación de que los generadores de Chevalley satisfacen las relaciones de conmutación correctas
El artículo presenta ejemplos concretos de ejecución:
- Ejemplos de mapeo de elementos:
- Entrada: Elementos aleatorios en SL2(997)
- Salida: Su imagen en el grupo de caja negra X
- Verificación: Ambos tienen el mismo orden
- Eficiencia del algoritmo: El algoritmo puede procesar grupos sobre campos grandes, aunque ciertos pasos (como el cálculo de raíces cuadradas) pueden requerir tiempo considerable
- Verificación de corrección: Mediante pruebas de múltiples elementos aleatorios, se verifica la corrección del mapeo
- Complejidad computacional: La construcción de la matriz de cambio de base implica cálculo de raíces cuadradas de elementos de campo de caja negra, que puede ser prolongado por selecciones aleatorias inadecuadas
- Escalabilidad: El algoritmo está diseñado para procesar campos finitos muy grandes
Esta implementación se basa en trabajos teóricos anteriores de los autores:
- 1 Borovik & Yalçınkaya (2018): Representaciones adjuntas de grupos de caja negra PSL2(Fq)
- 2 Borovik & Yalçınkaya: Representaciones naturales de grupos de caja negra que cifran SL2(F)
- Utilización de geometría proyectiva y teoría de acciones de grupos
- Adopción de métodos de construcción estándar de grupos de Chevalley
- Combinación de técnicas modernas de teoría computacional de grupos
- Implementación exitosa de algoritmos teóricos: Conversión de construcciones complejas de teoría de grupos en herramientas computacionales prácticas
- Efectividad del marco de verificación: Verificación de corrección de algoritmos mediante comparación de órdenes y relaciones de conmutación
- Viabilidad de computación en campos grandes: El algoritmo puede procesar campos finitos grandes en aplicaciones prácticas
- Restricción de tamaño de campo: Requiere que el tamaño del campo base sea al menos 13
- Eficiencia computacional: Ciertos pasos pueden ser prolongados debido a la aleatoriedad
- Restricción a campos primos: La implementación actual solo soporta campos primos, no extensiones de campos
- Implementación de morfismos inversos: Los autores prometen publicar la implementación de morfismos inversos
- Soporte para extensiones de campos: Extensión del algoritmo para soportar extensiones de campos finitos
- Optimización de eficiencia: Mejora de algoritmos aleatorios para reducir tiempo de computación
- Integración de teoría y práctica: Conversión exitosa de resultados abstractos de teoría de grupos en código ejecutable
- Contribución de código abierto: Proporciona repositorio completo en GitHub para reproducción y extensión
- Documentación clara: Proporciona instrucciones de uso claras y ejemplos
- Verificación completa: Verificación de corrección del algoritmo mediante múltiples métodos
- Brevedad de documentación: Como explicación de implementación, la introducción de contexto teórico es relativamente breve
- Análisis de rendimiento ausente: Falta análisis detallado de complejidad temporal
- Cobertura de pruebas limitada: Solo presenta casos de prueba limitados
- Campo de teoría computacional de grupos: Proporciona herramientas prácticas para algoritmos de grupos de caja negra
- Aplicaciones criptográficas: Tiene valor potencial en implementación de sistemas criptográficos basados en grupos
- Valor educativo: Proporciona ejemplos concretos para enseñanza e investigación en teoría computacional de grupos
- Computación de grupos sobre campos finitos grandes
- Análisis de estructura de grupos de caja negra
- Implementación de protocolos criptográficos basados en teoría de grupos
- Enseñanza e investigación en teoría computacional de grupos
1 Alexandre Borovik and Şükrü Yalçınkaya, Representaciones adjuntas de grupos de caja negra PSL₂(Fq), J. Algebra 506 (2018), 540–591.
2 Alexandre Borovik and Şükrü Yalçınkaya, Representaciones naturales de grupos de caja negra que cifran SL₂(F), arxiv.org/abs/2001.10292.
Nota técnica: Este artículo es un informe técnico de naturaleza implementativa, enfocado en la conversión de algoritmos teóricos en herramientas prácticas. Aunque es relativamente breve, proporciona una implementación de código completa y una guía de uso, teniendo valor práctico significativo para el campo de la teoría computacional de grupos.