We initiate the study of what we term ``fast good codes'' with ``fast good duals.'' Specifically, we consider the task of constructing a rate 1/2 binary linear code such that both it and its dual are asymptotically good (in fact, have rate-distance tradeoff approaching the GV bound), and are encodable in linear time. While we believe such codes should find applications more broadly, as motivation we describe how such codes can be used the secure computation task of encrypted matrix-vector product. Our main contribution is a construction of such a fast good code with fast good dual. Our construction is inspired by the repeat multiple accumulate (RMA) code. To create the rate 1/2 code, after repeating each message coordinate, we perform accumulation steps -- where first a uniform coordinate permutation is applied, and afterwards the prefix-sum mod 2 is applied -- which are alternated with discrete derivative steps -- where again a uniform coordinate permutation is applied, and afterwards the previous two coordinates are summed mod 2. Importantly, these two operations are inverse of each other. In particular, the dual of the code is very similar, with the accumulation and discrete derivative steps reversed. Our analysis is inspired by a prior analysis of RMA: we bound the expected number of codewords of weight below the GV bound. We face new challenges in controlling the behaviour of the discrete derivative operation (which can significantly drop the weight of a vector), which we overcome by careful case analysis.
翻译:我们开启了关于“快速好码”及其“快速好对偶”的研究。具体而言,我们考虑构造一个码率为1/2的二进制线性码,使得该码及其对偶码均是渐近好码(实际上,其码率-距离权衡逼近吉尔伯特-瓦尔沙莫夫界),并且均可在线性时间内完成编码。尽管我们相信此类编码应具有更广泛的应用,但作为动机,我们描述了如何将此类编码用于加密矩阵-向量乘积的安全计算任务。我们的主要贡献是构造了这样一个具有快速好对偶的快速好码。我们的构造灵感来源于重复多重累积码。为了创建码率为1/2的码,在重复每个消息坐标后,我们执行累积步骤——首先应用均匀坐标置换,然后应用模2前缀和——该步骤与离散微分步骤交替进行——在离散微分步骤中,再次应用均匀坐标置换,然后对前两个坐标进行模2求和。重要的是,这两种操作互为逆操作。特别地,该码的对偶码非常相似,只是累积步骤和离散微分步骤的顺序相反。我们的分析灵感来源于先前对重复多重累积码的分析:我们界定了重量低于吉尔伯特-瓦尔沙莫夫界的码字数量的期望值。在控制离散微分操作(该操作可能显著降低向量的重量)的行为方面,我们面临新的挑战,我们通过细致的案例分析克服了这些挑战。