Zirah는 STM32F407 마이크로컨트롤러를 기반으로 구축된 하드웨어 서명 장치이며, 그 목적은 저렴한 하드웨어에서 양자 내성(post-quantum) 서명 키가 어디서 노출되는지, 그리고 실제로 무엇이 그것을 보호하는지를 알아내는 것입니다. 이 장치는 애벌랜치 파괴 상태의 역방향 바이어스된 2N3904 접합부로부터 모든 난수 비트를 추출하고, 이를 LM358로 증폭하며, SP 800-90B 무결성 테스트를 거쳐 계산합니다. 또한 STM32에서 비밀 키 곱셈에 두 공유 산술 마스킹(two-share arithmetic masking)을 적용하여 ML-DSA-65 (FIPS 204, 헤지드)를 계산하고, 사용자가 OLED 화면에서 8자리 다이제스트 접두사를 PC와 일치시키고 버튼을 누르면 동일한 다이제스트 위에 ATECC608 보안 요소로부터 ECDSA P-256 서명을 추가합니다. 데스크톱 애플리케이션과 명령줄 도구가 보드를 구동하고 출력을 검증하며, 장치가 32바이트의 매니페스트 다이제스트만 받기 때문에 모든 유형 및 크기의 파일을 서명할 수 있으며, PDF, Office Open XML, ZIP, PNG 및 JPEG 파일에 대한 서명된 사본과 기타 모든 형식에 대한 분리 기록을 반환합니다. NIST의 SP 800-90B 도구는 1,000,000개의 원시 샘플에 대해 IID 가정을 거부했으며, 비(非)IID 트랙에서 바이트당 최소 엔트로피를 6.898비트로 평가했는데, 이는 펌웨어가 주장하는 1비트보다 높은 수치입니다. 한편, 변동성의 약 5%를 포함하는 116Hz 근처의 스펙트럼 선은 여전히 설명되지 않은 상태로 남아있습니다. 168MHz에서 마스킹된 서명은 20회 실행에 걸쳐 중앙값 157ms가 소요되었고, 전체 서명 작업은 0.8초 미만으로 완료되었습니다. 이 서명 장치는 pq-crystals 레퍼런스를 네이티브 환경과 에뮬레이션된 Cortex-M4 환경 모두에서 1,976회 테스트를 거쳐 일치시켰습니다. ATECC608은 ML-DSA-65 키(4,032바이트)를 저장하거나 계산할 수 없기 때문에 해당 키는 일반 플래시에 읽기 보호 상태로 보관되어 있습니다. 이전에 더 초기 버전의 보드에서는 이러한 보호 기능이 활성화되기 전에 디버거가 키를 복사했고, 그 사본은 장치 없이도 유효한 ML-DSA-65 서명을 생성했습니다. 다만, 누출 결과는 명령어 수준 에뮬레이터에서 나온 것이며 여기에는 어떤 것도 인증되지 않았습니다.