核心问题现有的FHE方案存在“能力分化”算术电路FHE编译器如BFV和CKKS计算加法/乘法极快但无法高效处理比较、分支等非多项式运算及逻辑函数逻辑电路FHE编译器如TFHE功能完备且易于部署但计算算术运算极其缓慢混合电路FHE 编译器实现逻辑到算术转换所需的计算成本过高如E^3研究难点1. 缺乏统一的中间表示IR算术FHE和逻辑FHE使用完全不同的数据格式RLWE密文 vs LWE密文和操作符。现有编译器的IR都是为单一方案设计的无法同时描述和控制两种方案更无法在它们之间进行自动转换和优化。2. 跨方案转换的调度与参数选择极为复杂何时该用算术FHE何时该切换为逻辑FHE切换需要插入sampleextractRLWE→LWE和repackLWE→RLWE等昂贵操作。如何编排这些操作以最小化开销同时为每个密文片段选择最优的加密参数如模数、环维度和安全级别是一个巨大的调度与优化难题。此前没有任何编译器能自动化这个过程。关键技术HEIR通过一套基于多层中间表示MLIR的创新架构解决了上述难题其关键技术包括1. 基于MLIR的、分层的FHE专用方言体系高层FHE方言抽象了同态计算的操作如FHE.add,FHE.sub和数据类型如FHEFloat,FHEVector屏蔽了底层加密细节使得程序转换阶段可以专注于逻辑而非密码学。底层LWE/RLWE方言精确描述了逻辑FHE和算术FHE的具体操作如lwe.add,rlwe.mul和密文类型。这种分层设计使得编译器可以逐步、受控地将高层逻辑降级到底层具体实现并在过程中插入优化。2. 自动化的程序分割与类型转换系统基于运算符的转换编译器采用一个简单而有效的启发式策略默认使用LWE密文。当识别到连续、密集的算术运算特别是向量化运算时它会自动将相关变量提升为RLWE密文并利用repack将多个LWE打包成RLWE利用sampleextract做反向转换从而充分利用算术FHE的SIMD能力。微型repack算法针对现实应用中常见的“少量”LWE密文打包场景论文提出了一个轻量级的repack算法Algorithm 1它基于自同构和累加比通用方法更高效有效降低了方案切换的开销。3. 面向密文层级管理的引导调度FHE密文在每次乘法后噪声会增长。论文提出了一种自动化的层级管理算法Algorithm 2通过静态分析程序的“定义-使用链”为每个密文变量计算其所需的“层级”代表乘法深度。当层级超过预设阈值时编译器会自动插入一个逻辑FHE的“可编程引导”PBS即查表操作来重置噪声从而支持无限深度的同态计算而无需用户手动干预。主要结论与创新HEIR是首个无需DSL、功能完备、自动跨方案编译的FHE编译器首个无需DSL领域特定语言的功能完备FHE编译器用户只需编写标准C代码HEIR就能自动生成混合使用CKKS和TFHE的高效同态程序大大降低了使用门槛。性能上的压倒性优势在同时包含算术和逻辑运算的端到端真实应用如加密数据库查询、K-means聚类中HEIR生成的程序运行速度比最先进的逻辑电路编译器Transpiler快72倍到179倍。在纯算术和纯逻辑任务上表现优异相比顶尖的算术编译器EVAHEIR在内积等任务上快1.4-11倍相比逻辑编译器Transpiler在最小值查找等任务上快3.2-4.1倍。可接受的编译开销HEIR的编译时间很短1秒与高性能算术编译器相当。虽然内存消耗略高用于存储更多优化密钥但换来了巨大的运行时性能提升。最终结论通过“统一中间表示 自动程序分割 智能转换调度”的跨方案编译策略HEIR成功打破了FHE在可用性与效率之间的长期权衡为构建实用化的隐私计算系统铺平了道路。主要创新创新点说明统一IR基于MLIR构建多层方言体系统一表达算术和逻辑FHE自动程序分割自动识别算术密集区和逻辑密集区分别分配CKKS和TFHE自动类型转换自动插入方案切换操作repack / sampleextract编码优化自动选择槽编码或系数编码内积等运算可快1.4~11倍层级管理自动分析密文深度按需调度PBS可编程引导重置噪声知识体系一、隐私计算与全同态加密FHE①FHE核心概念基本思想在加密数据上直接计算。两大主流方案算术FHE以CKKS为例特点为SIMD、高效算术、基于RLWE问题。擅长大规模加法和乘法。不擅长比较、分支、超越函数。逻辑FHE以TFHE为例特点为每个密文1比特、基于LWE问题、可编程引导PBS。擅长任何布尔函数、查表。不擅长高精度算术。编码方法槽编码SIMD友好、系数编码内积/卷积友好。关键转换原语sampleextractRLWE→LWE、repackLWE→RLWE。②编译器设计与中间表示IR多层IR架构MLIR不同抽象层次用不同dialect表示每一层解决一个问题每一层完成一次降级让优化在正确的层次上发生静态单赋值SSA形式每个变量只赋值一次值不会改变。因为编译器做优化时需要知道值从哪里来、到哪里去。SSA让这种分析变得非常简单。编译流程前端C→IR→ 中间端转换优化→ 后端IR→可执行代码。编译器先把C代码前端转成多层IR中间用SSA形式方便分析优化通过dialect如FHE、RLWE、LWE逐步降级最后后端生成可执行代码。③HEIR的关键技术细节diaclect设计FHE 方言 意图做什么LWE / RLWE 方言 方案如何做FHE dialect(最高层与具体加密方案无关)LWE dialect逻辑 FHE面向 TFHE 类方案:每个密文只加密 1 比特或很小的整数支持布尔门AND/OR/NOT和可编程引导 PBS。程序中的 比较、分支、查表、最小值 等逻辑密集区域被分割到 LWEdialectRLWE dialect算术 FHE面向 CKKS / BFV一个密文打包很多数值SIMD高效的多项式加法和乘法。程序中的大量加法和乘法、向量运算、矩阵运算 等算术密 集区域会使用RLWE dialect程序分割算法分割原因一个真实程序里算术和逻辑是交织的必须切块。识别“算术密集区域”核心思路从「所有变量都是 LWE 密文」开始当发现某个变量被连续的、SIMD 友好的算术操作使用时就把它及其相关变量提升为 RLWE。微型repack算法方案切换需要将多个 LWE 密文每个加密一个数打包成一个 RLWE 密文如果一次性打包很多 LWE例如 1024 个可以用基于解密的快速 repack。但很多真实应用如几个 LWE 密文不适合这种方法开销太大。HEIR 提出了微型 repack专为「小批量」t 很小比如 2~8 个设计精度高、开销小。层级管理算法在 CKKS 等算术 FHE 中每个乘法会消耗一个层级层级用完了再计算就会出错。引导bootstrap 可以重置噪声并恢复层级但开销大。通过定义‑使用链分析密文深度并调度 PBS 可编程引导 实现层级管理