Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mojo-v — Extensión de la ISA RISC-V para cómputo secreto reforzado por hardware usando encapsulación de clave ML-KEM-512 y cifrado SIMON-128, permitiendo ejecución oblivious a los datos con rendimiento cercano al nativo. | Kitploit
Herramientas/GitHubGitHub/toddmaustin/mojo-v
Seguridad de Sistemas EmbebidosHerramientas de Cifrado/DescifradoCriptografíaPrivacidadSeguridad de HardwarePapers e InvestigaciónAprendizaje y Educación
GitHubtoddmaustin/mojo-v

mojo-v

Extensión de la ISA RISC-V para cómputo secreto reforzado por hardware usando encapsulación de clave ML-KEM-512 y cifrado SIMON-128, permitiendo ejecución oblivious a los datos con rendimiento cercano al nativo.

Ver Repositorio
1509hace 9 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Logo de Mojo-V

Mojo-V: Computación Secreta para RISC-V

Mojo-V (pronunciado “mojo-five”) es una nueva extensión de RISC-V que introduce capacidades de programación orientadas a la privacidad para RISC-V. Mojo-V implementa computación secreta, lo que permite una ejecución segura, eficiente y oblivious a los datos sin depender de software frágil ni de la confianza del programador. Al aislar los datos sensibles en registros secretos dedicados y cifrar la memoria con una clave de terceros, Mojo-V previene divulgaciones y aplica una computación que es tanto ciega (sin divulgaciones directas) como silenciosa (sin fugas por canales laterales). El diseño se integra sin problemas en la ISA RISC-V existente con solo un bit de modo y cuatro instrucciones nuevas, aplicadas íntegramente en la decodificación. Los primeros resultados muestran velocidades de ejecución casi nativas, ofreciendo al mismo tiempo una mejora de rendimiento de más de 5 a 7 órdenes de magnitud en comparación con el cifrado totalmente homomórfico (FHE), con una hoja de ruta clara para la integración en CPU, GPU y aceleradores especializados.

Para obtener más información...

  • Aquí hay un video introductorio que describe Mojo-V: https://www.youtube.com/watch?v=HUT46TcNyyM
  • Diapositivas que ofrecen una visión general del proyecto Mojo-V: https://drive.google.com/file/d/1VVzZqYHvQgnKMgXZjg7I_cX2GzF7awSN

La Especificación actual de la Extensión ISA de Mojo-V (versión 1.02):

  • [En formato PDF.] (https://drive.google.com/file/d/1yfiBqp0xyXD-S_G5d2o7Ggta5wI6nRot)

Para contactar a los desarrolladores de Mojo-V:

  • Correo electrónico: [email protected]

🧩 Plataforma de Referencia Mojo-V — Versión 1.03

🚧 Estado del Proyecto

La Plataforma de Referencia Mojo-V versión 1.03 implementa una plataforma de simulador Spike de referencia para RISC-V RV64GC y el compilador EXO para la Especificación ISA de Mojo-V v1.02. La implementación actual soporta modos de cifrado rápido, fuerte y con prueba, junto con la divulgación segura de resultados de computación cifrada y la generación certificada de números aleatorios. La versión incluye una amplia gama de pruebas de Mojo-V, benchmarks orientados a la privacidad y aplicaciones demostradoras para la divulgación segura. También incluye la especificación completa de la ISA de Mojo-V y documentación para desarrolladores.

Esta versión es adecuada para usarse como i) plataforma de desarrollo de aplicaciones Mojo-V, ii) modelo de referencia para validar implementaciones de hardware Mojo-V y iii) implementación de referencia para análisis de seguridad. El trabajo actual se centra en el desarrollo de i) un compilador Mojo-V basado en LLVM, ii) un modelo Mojo-V basado en gem5 para exploración y análisis arquitectónico y iii) una implementación RTL de referencia CVA6 SystemVerilog de RISC-V RV64GC con extensiones Mojo-V.

Versión de la Especificación: 1.02 (agosto de 2026)
Contacto: [email protected]

Componentes actuales

  1. Especificación ISA Mojo-V v1.02

    • publicada en doc/
  2. Spike (Simulador de Conjunto de Instrucciones) con Extensiones Mojo-V

    • Mojo-V integrado en riscv-isa-sim, con funcionalidad completa para una CPU RV64GC con encapsulación de claves ML-KEM-512 para la carga de contratos de datos y cifrado simétrico SIMON-128 para la protección de la computación secreta.
    • Para ejecutar Spike con las extensiones Mojo-V habilitadas, agregue la opción --isa=rv64gc_zicond_zkmojov_zicntr al ejecutar spike
  3. Multi-herramienta de Contrato de Datos

    Los contratos de datos son paquetes cifrados que permiten que el hardware de una CPU Mojo-V acceda a la clave de acceso a datos y a la información de configuración (por ejemplo, el modo de cifrado de memoria) para un conjunto de datos cifrados con Mojo-V. La Multi-herramienta DC permite las siguientes capacidades:

    • Los desarrolladores de hardware pueden crear pares de claves ML-KEM512 públicas/privadas: las claves públicas se comparten con los proveedores de servicios y las claves privadas se incorporan en la implementación de hardware Mojo-V.
    • Los propietarios de datos pueden crear contratos de datos y cifrarlos con las claves ML-KEM512 públicas de los proveedores de servicios. El hardware Mojo-V correspondiente puede entonces realizar computación secreta sobre los datos cifrados de terceros protegidos.
  4. Benchmarks Mojo-V Bringup-Bench

    • Batería completa de pruebas de seguridad para RV64GC+Mojo-V
    • Batería completa de pruebas de ataque a la integridad para RV64GC+Mojo-V
    • Batería completa de pruebas de la biblioteca del compilador EXO
    • Baterías completas de pruebas de las bibliotecas matemáticas y de cadenas de EXO
    • Numerosos benchmarks orientados a la privacidad compilados con la biblioteca del compilador EXO Mojo-V
    • Batería completa de aplicaciones de demostración de divulgación segura

Tenga en cuenta que el resto de los benchmarks Bringup-bench aún NO se han portado a Mojo-V.

⚙️ Compilación y Ejecución de la Plataforma de Referencia Mojo-V

A. Instale un Compilador LLVM para RISC-V

Necesitará un compilador cruzado RISC-V basado en LLVM capaz de producir binarios RV64GC.

Aquí hay un buen punto de partida: https://github.com/openssl/openssl

B. Instale OpenSSL versión 3.6 o más reciente

Necesitará una instalación para desarrolladores de OpenSSL versión 3.6 o más reciente. Esto proporciona bibliotecas que implementan ML-KEM512, utilizado por Spike para el intercambio de claves protegido.

Aquí hay un buen punto de partida: https://clang.llvm.org/get_started.html

C. Clone el Repositorio Mojo-V```bash

git clone https://github.com/toddmaustin/mojo-v.git cd mojo-v

root@kitploit:~
### D. Construir el simulador Spike de RISC-V con soporte Mojo-V```bash
sudo apt-get install device-tree-compiler libboost-regex-dev libboost-system-dev
cd riscv-isa-sim
mkdir build
cd build
../configure --prefix=$RISCV
make

E. Construir y probar la multiherramienta de contratos de datos

Los contratos de datos son paquetes cifrados que permiten al hardware de una CPU Mojo-V acceder a la clave de acceso a datos y a la información de configuración (p. ej., modo de cifrado de memoria) de un conjunto de datos cifrado con Mojo-V.``` cd dc-tool make clean build test

root@kitploit:~
### **E. Construir y ejecutar las pruebas de benchmark Bringup-Bench de Mojo-V**

1. **Construir el controlador de dispositivo Spike**   ```bash
   cd bringup-bench/target
   make
  1. Configura tu compilador

    Edita ../Makefile y establece TARGET_CC para el destino mojov a la ubicación de tu compilador RISC-V de LVM basado en Clang.

  2. Compila y prueba los programas de prueba Bringup-Bench ```bash cd .. # go to the top-level bringup-bench directory make TARGET=mojov-spike mojov-tests # run all Mojo-V tests

    root@kitploit:~

Como alternativa, puedes ejecutar un benchmark individual entrando en su directorio y ejecutando el siguiente comando. ```bash cd ../mojov-test make TARGET=mojov-spike clean build test

root@kitploit:~
## 🧪 Resumen de Pruebas de Mojo-V Bringup-Bench

| Programa | Descripción |
|:---------|:-------------|
| `mojov-test` | Ejemplo introductorio de las diapositivas |
| `mojov-test1` | Pruebas de semántica de registros secretos y memoria cifrada |
| `mojov-test2` | Benchmark de ordenamiento de burbuja de enteros data-oblivious codificado a mano con cifrado rápido Mojo-V (int,fast) |
| `mojov-test3` | Benchmark de ordenamiento de burbuja de punto flotante data-oblivious codificado a mano con cifrado rápido Mojo-V (fp,fast) |
| `mojov-test4` | Benchmark de ordenamiento de burbuja de enteros data-oblivious codificado a mano con cifrado fuerte Mojo-V (int,strong) |
| `mojov-test5` | Benchmark de ordenamiento de burbuja de punto flotante data-oblivious codificado a mano con cifrado fuerte Mojo-V (fp,strong) |
| `mojov-typetests` | Pruebas de validación del sistema de tipos para tipos cifrados Mojo-V y uso de la biblioteca EXO |
| `mojov-pctests` | Suite de pruebas de verificación de integridad codificada a mano para RV64GC+Mojo-V que incluye pruebas positivas y negativas para el formato de cifrado proof-carrying de Mojo-V (proofcarrying) |
| `mojov-sectests` | Suite de pruebas de seguridad codificada a mano para RV64GC+Mojo-V que incluye 130 pruebas positivas + 245 negativas == 375 en total (int,fp,fast,strong) |
| `mojov-stringtests` | Pruebas de validación de la biblioteca de cadenas EXO cifrada para operaciones y comparaciones seguras de cadenas |
| `mojov-mathtests` | Pruebas de validación de la biblioteca matemática EXO cifrada para `_sincos`, `mojov_sin`, `mojov_cos`, `mojov_fabs`, `mojov_floor`, `mojov_pow`, `mojov_round` y `mojov_sqrt` |

Estos benchmarks de prueba demuestran las reglas ISA de Mojo-V, el comportamiento de la biblioteca EXO y las semánticas de seguridad.

## 🧪 Resumen de Benchmarks de Mojo-V Bringup-Bench

El conjunto actual de benchmarks de bring-up incluye las siguientes aplicaciones de benchmark Mojo-V:

| Programa | Descripción |
|:---------|:-------------|
| `bitonic-sort` | Benchmark de ordenamiento bitónico data-oblivious |
| `bloom-filter` | Benchmark de pertenencia a conjuntos con filtro de Bloom |
| `bubble-sort` | Benchmark de ordenamiento de burbuja de enteros |
| `bubble-sort-strong` | Benchmark de ordenamiento de burbuja de enteros configurado para cifrado fuerte |
| `chi-squared` | Benchmark de bondad de ajuste estadístico chi-cuadrado |
| `distinctness` | Benchmark de análisis de distinción (distinctness) |
| `distinctness-Onlog2n` | Variante del benchmark de distinción con estrategia O(n log² n) |
| `edit-distance` | Benchmark de distancia de edición (distancia entre cadenas) |
| `eulers-approx` | Benchmark de aproximación de la constante/serie de Euler |
| `fft-int` | Benchmark FFT de enteros |
| `flood-fill` | Benchmark de relleno por inundación (flood-fill) |
| `flood-fill-On2` | Variante del benchmark de relleno por inundación con comportamiento O(n²) |
| `fuzzy-match` | Benchmark de coincidencia difusa de cadenas |
| `gcd-list` | Benchmark de máximo común divisor sobre listas |
| `gemm` | Benchmark de multiplicación general de matrices |
| `gemm-strong` | Benchmark GEMM configurado para cifrado fuerte |
| `grad-descent` | Benchmark de optimización por descenso de gradiente |
| `heat-calc` | Benchmark de cálculo de transferencia/ecuación de calor |
| `heldkarp-tsp` | Benchmark de programación dinámica de Held-Karp para el problema del viajante sobre grafos cifrados |
| `highlife` | Benchmark de autómatas celulares HighLife con evolución cifrada del estado del tablero |
| `kadane` | Benchmark de subarreglo máximo (algoritmo de Kadane) |
| `kalman-filter` | Benchmark de filtrado de Kalman |
| `kcore-decomp` | Benchmark de descomposición k-core de grafos |
| `kepler-calc` | Benchmark de ecuación de Kepler/cálculo numérico |
| `knapsack` | Benchmark de optimización de la mochila (knapsack) |
| `lcs` | Benchmark data-oblivious de subsecuencia común más larga sobre cadenas cifradas |
| `lda` | Benchmark de asignación latente de Dirichlet |
| `manacher-lps` | Benchmark de subcadena palindrómica más larga (algoritmo de Manacher) |
| `mersenne` | Benchmark de cálculo de números de Mersenne |
| `minspan` | Benchmark de estructura de expansión mínima |
| `monte-carlo` | Benchmark de simulación de Monte Carlo |
| `moving-average` | Benchmark analítico de media móvil |
| `moving-average-fp64` | Benchmark analítico de media móvil en FP64 |
| `nbody-sim` | Benchmark de simulación de N cuerpos |
| `nonlinear-nn` | Benchmark de red neuronal no lineal |
| `nr-solver` | Benchmark de solucionador Newton-Raphson |
| `ntt-kernel` | Benchmark de núcleo de transformada numérico-teórica |
| `packet-filter` | Benchmark de filtrado de paquetes |
| `pagerank` | Benchmark de grafo PageRank |
| `parrondo` | Benchmark de proceso/estrategia de Parrondo |
| `partition-equal` | Benchmark de partición de suma de subconjuntos iguales sobre conjuntos cifrados |
| `pca-analysis` | Benchmark de análisis de componentes principales |
| `primal-test` | Benchmark de prueba de primalidad |
| `private-join` | Benchmark de join (combinación) que preserva la privacidad |
| `psi` | Benchmark de intersección privada de conjuntos |
| `quartile-stats` | Benchmark analítico de cortes de cuartiles y promedio por cuartiles sobre datos cifrados |
| `rabinkarp-search` | Benchmark de búsqueda de patrones Rabin-Karp |
| `rad-to-deg` | Benchmark de conversión de radianes a grados |
| `randshell-sort` | Benchmark de ordenamiento Shell aleatorizado |
| `ransac` | Benchmark de ajuste de modelos RANSAC |
| `regex-match` | Benchmark de coincidencia de expresiones regulares |
| `risk-score` | Benchmark analítico de puntuación de riesgo |
| `scrambled-compare` | Benchmark de comparación de cadenas codificadas (scrambled) mediante programación dinámica cifrada |
| `seq-align` | Benchmark de alineamiento global de secuencias (Needleman-Wunsch) sobre cadenas cifradas |
| `shortest-path` | Benchmark de camino más corto en grafos |
| `sieve` | Benchmark de criba de números primos |
| `skeleton` | Benchmark esqueleto/plantilla usado como línea base de bring-up |
| `soundex` | Benchmark de codificación fonética Soundex |
| `string-search` | Benchmark de búsqueda de cadenas |
| `tea-cipher` | Benchmark de cifrado TEA |
| `tiny-NN` | Benchmark de inferencia de red neuronal pequeña |
| `triangle-count` | Benchmark de conteo de triángulos en grafos |
| `variability-sample` | Benchmark de variabilidad y estadísticas de muestreo |
| `verlet` | Benchmark de física con integración de Verlet |

## Resumen de los Demostradores de Divulgación Segura de Mojo-V

Mojo-V incluye tres benchmarks demostradores de divulgación segura en `bringup-bench`. Estas aplicaciones usan memoria cifrada proof-carrying más concesiones (grants) de datos cifrados para mostrar cómo un programa puede calcular sobre entradas sensibles, divulgar solo resultados derivados explícitamente autorizados y atrapar intentos de reutilizar una concesión para un valor diferente, una entrada sin procesar, un cálculo obsoleto, una concesión manipulada o un predicado intermedio.

| Programa | Entrada sensible | Divulgaciones autorizadas | Protecciones demostradas |
|:---------|:----------------|:------------------------|:--------------------------|
| `private-auction` | Ocho ofertas privadas cifradas. | ID del postor ganador y valor de la oferta ganadora. | Encuentra la oferta máxima con comparaciones cifradas y `cmov()`, y luego valida las concesiones de datos por salida. Los casos negativos rechazan concesiones no coincidentes, divulgación de la oferta ganadora sin procesar, concesiones falsas o manipuladas, concesiones obsoletas después de cambiar la subasta, valores derivados `winning_bid + 1` y predicados de comparación intermedios. |
| `vote-tally` | Treinta y dos votos cifrados entre tres candidatos, incluidos dos votos inválidos. | Recuentos agregados para los candidatos A, B y C, más predicados de curación por voto. | Calcula todos los recuentos de candidatos y los predicados de validez de votos en forma cifrada. Los casos negativos rechazan usar una concesión de recuento para otro recuento, divulgación de votos sin procesar, concesiones falsas o manipuladas, concesiones obsoletas después de modificar los votos, valores de recuento derivados y predicados intermedios de votos. |
| `gene-risk` | Ocho dosis de marcadores SNP cifrados para una carga de trabajo de riesgo genómico de juguete. | Una puntuación de riesgo poligénico derivada y un grupo de riesgo bajo/medio/alto. | Acumula una puntuación de riesgo ponderada y deriva el grupo de riesgo con predicados cifrados y `cmov()`. Los casos negativos rechazan el uso cruzado de concesiones de puntuación y de grupo, divulgación de marcadores sin procesar, concesiones falsas o manipuladas, concesiones obsoletas después de cambiar el genoma, valores de puntuación derivados y predicados intermedios de alto riesgo. |

Cada demostrador está listado en `MOJOV_DISCAPPS`, por lo que forma parte de la batería de aplicaciones de divulgación segura. Para ejecutar uno directamente, entre en su directorio de benchmark y use el objetivo Mojo-V, por ejemplo:```bash
cd bringup-bench/private-auction
make TARGET=mojov-spike clean build test

Utiliza la opción --mojov-arg=<n> de Spike para seleccionar la ruta positiva (0) o una de las pruebas de divulgación negativas (1 y superiores) al ejecutar un demostrador manualmente.

Resumen de los Demostradores CERTRNG Certificados de Mojo-V

Mojo-V incluye tres demostradores de referencia de generador certificado de números aleatorios verdaderos (CERTRNG) en bringup-bench. Utilizan distintos sitios CERTRNG, computación encriptada con prueba de cargo, y nonces de solicitud para mostrar que un cliente puede verificar dónde entraron valores aleatorios frescos en una computación aprobada. Los resultados permanecen encriptados hasta la validación del recibo y el compromiso. Los casos negativos demuestran que la aleatoriedad generada por software, extracciones faltantes o reutilizadas, asignaciones de sitio incorrectas, solicitudes obsoletas, grafos de computación alterados y remuestreo sesgado no satisfacen la concesión de datos honesta. También muestran un límite importante: la aleatoriedad certificada por sí sola no puede detener la molienda si los resultados se divulgan (usando las instrucciones DISC o FDISC de Mojo-V) antes del compromiso.

Estos demostradores están listados en MOJOV_CERTRNG_APPS, por lo que se incluyen en la batería de referencia de Mojo-V. Ejecuta uno directamente desde su directorio, por ejemplo:```bash cd bringup-bench/blind-audit make TARGET=mojov-spike clean build test

root@kitploit:~
Utilice la opción `--mojov-arg=<n>` de Spike al ejecutar un demostrador manualmente. El caso `0` es el camino honesto, los casos de números bajos son controles explicativos exitosos, y los casos `10` y superiores son ataques que se espera que terminen con una excepción de seguridad de Mojo-V. La matriz exacta para cada aplicación está documentada en su `README.md` local del benchmark.


## 🛠️ Uso de la Multiherramienta de Contrato de Datos Mojo-V

La multiherramienta de contrato de datos "dc-tool" se utiliza para crear y validar contratos de datos Mojo-V.

Para crear un par de claves pública/privada ML-KEM512, ejecute el siguiente comando. Tenga en cuenta que la clave pública debe compartirse con proveedores de datos de terceros para preparar contratos de datos. Las claves privadas se instalan en el hardware (o simulador).```bash
./dc-tool keygen <pk_file> <sk_file>          # public key in <pk_file>, private key in <sk_file>

Una vez que existe un par de claves pública/privada, es posible crear contratos de datos cifrados. Un contrato de datos contiene una clave de acceso a datos cifrada (para que el hardware Mojo-V acceda a datos de terceros) y una configuración de modo de memoria cifrada. Ejecute el siguiente comando para crear un contrato de datos cifrado.```bash ./dc-tool dcgen <pk_file> {fast,strong,proof-carrying} <ct_file> # specify mem mode, contract in <ct_file>

root@kitploit:~
Compartir un contrato de datos cifrado con el hardware Mojo-V que corresponde a la clave pública ML-KEM512 utilizada para cifrar el contrato permitirá que la CPU habilitada para Mojo-V realice cómputo secreto sobre los datos protegidos de terceros. Para validar que el contrato cifrado es válido, use los siguientes comandos.```bash
./dc-tool dcchk <sk_file> <ct_file>           # decrypt contract <ct_file> with secret key <sk_file>
./dc-tool dcchk-v <sk_file> <ct_file>         # same as above, but also dump decrypted contents of <ct_file>

🛠️ Opciones específicas de Mojo-V añadidas al simulador Spike de ISA RISC-V

Se han añadido las siguientes opciones a Spike, el simulador estándar de ISA RISC-V.```bash --mojov-verbose Mojo-V setup processing is verbose --mojov-fast Use Mojo-V fast encryption mode (default mode) --mojov-strong Use Mojo-V strong encryption format (otherwise using data contract specified mode) --mojov-proofcarrying Use Mojo-V proof-carrying encryption format (otherwise use data contract specified mode) --mojov-arg= Pass a numeric argument to a Mojo-V test code --mojov-pk=<pem_file> Load Mojo-V CPU public key from <pem_file> --mojov-sk=<pem_file> Load Mojo-V CPU secret key from <pem_file>

root@kitploit:~
## 🧠 Descripción general de la programación en Mojo-V

El desarrollo de software para Mojo-V utiliza actualmente la biblioteca del compilador EXO y sigue prácticas de codificación seguras y oblivious a los datos:

1. **Programe con los encabezados de la biblioteca EXO**
   - Incluya `exo/mojov-exo.h` para acceder al framework de programación Mojo-V y a las abstracciones de tipos cifrados.
   - Incluya `exo/mojov-math.h` para acceder al soporte matemático cifrado y a las operaciones auxiliares.

2. **Use cómputo oblivious a los datos para variables cifradas**
   - Los valores cifrados deben manipularse con flujo de control y patrones de acceso a memoria oblivious a los datos para preservar los objetivos de ejecución silenciosa y resistencia a canales laterales de Mojo-V.

3. **Siga el tutorial de programación de EXO**
   - Consulte la guía de programación de EXO: [exo/EXO-library-programming.md](https://github.com/toddmaustin/mojo-v/blob/HEAD/exo/EXO-library-programming.md)

4. **Consulte los detalles de la estructura del compilador y la arquitectura en la documentación de EXO**
   - La estructura interna y el contexto de diseño para el enfoque actual del compilador/biblioteca de Mojo-V están documentados en: [exo/EXO-library-overview.md](https://github.com/toddmaustin/mojo-v/blob/HEAD/exo/EXO-library-overview.md)

---
## Licencias de código
Todo el código relacionado con Mojo-V en este repositorio se publica bajo la licencia de la herramienta que modificó (por ejemplo, Spike, LLVM, Bringup-Bench). Consulte los directorios respectivos de las herramientas para obtener detalles sobre las licencias.

---

## 💬 Preguntas y comentarios
¡Agradecemos las contribuciones, los informes de errores y las sugerencias!

📧 **Correo electrónico:** [[email protected]](mailto:[email protected])  
🌐 **Página del proyecto:** [https://github.com/toddmaustin/mojo-v](https://github.com/toddmaustin/mojo-v)
Descargar herramienta
  • Batería completa de aplicaciones de demostración de TRNG certificado
  • Ejemplos codificados a mano (por ejemplo, bubble-sort) que muestran la computación secreta de Mojo-V en funcionamiento
  • ProgramaCarga de trabajo aleatoria certificadaComportamiento positivoProtecciones demostradas
    blind-auditSelecciona uno de ocho registros de auditoría tomando el mínimo de ocho prioridades aleatorias distintas vinculadas a la solicitud.Certifica el grafo completo de argmin fijo; también muestra que las extracciones no utilizadas no afectan el recibo y que la divulgación prematura permite la molienda.Rechaza un objetivo forzado, RNG de software, un nonce faltante u obsoleto, la reutilización de extracciones, un candidato eliminado, sitios intercambiados y la reproducción de una selección precalculada.
    diffpriv-countAñade ruido binomial centrado, formado como la diferencia de dos valores independientes Binomial(8, 1/2), a un recuento encriptado usando 16 sitios aleatorios distintos.Certifica el grafo preciso de generación de ruido y vinculación de solicitudes mientras mantiene ocultos tanto el ruido como la respuesta hasta la validación.Rechaza ruido omitido o debilitado, RNG de software, remuestreo favorable y reproducción de solicitudes obsoletas; la aleatoriedad no utilizada no relacionada permanece fuera del recibo.
    certified-lottoElige al participante elegible con mayor puntuación entre ocho entradas encriptadas y usa prioridades aleatorias distintas vinculadas a la solicitud para desempatar.Certifica a cada participante, sitio aleatorio, mezcla de nonces y paso del torneo; también demuestra el comportamiento de extracciones no utilizadas y el peligro de molienda por divulgación antes del compromiso.Rechaza un participante omitido, RNG de software, un nonce omitido u obsoleto, la reutilización de extracciones, sitios intercambiados y un desempate determinista.