Janestreet revela la solución del reto de ingeniería inversa de ASIC

Fuentes: Janestreet reveals solution to ASIC reverse-engineering puzzle

Janestreet ha publicado los resultados del reto de ingeniería inversa de un chip ASIC publicado en agosto, que solicitaba a la comunidad identificar la función de un circuito a partir de su layout físico GDS. El desafío, que recibió aproximadamente 400 soluciones de más de 30 países, involucraba la recuperación de la lógica interna de un verificador de hardware para un puzzle de Star Battle de 11x11. El objetivo era colocar exactamente dos estrellas en cada fila, columna y región coloreada, sin que ninguna se tocara, ni siquiera diagonalmente.

El chip procesa 121 ciclos de entrada y ejecuta comprobaciones paralelas mediante contadores de 2 bits para filas y columnas, una ROM para mapear regiones y una línea de retraso para detectar contactos. La solución final se obfusca con un LFSR antes de emitirse. Los participantes utilizaron herramientas como KLayout, Yosys y Z3, junto con lenguajes de programación como Python, Rust y C++. Entre las estrategias destacadas, algunos resolvieron el puzzle mediante simulación de señales, mientras que otros emplearon solvers SAT para encontrar la configuración de entrada válida. El diseño del chip se realizó utilizando la librería SKY130 y la herramienta LibreLane, ofreciendo una lección práctica sobre la ingeniería inversa de hardware y la colaboración comunitaria en la resolución de problemas técnicos complejos.