Verified fast formulas for control bits for permutation networks

This paper presents detailed and computer-verified proofs of formulas that, given a permutation π of 2 indices with m ≥ 1, produce control bits for a standard permutation network that uses 2(m− 1/2) swaps to apply π to a list. The formulas match the control bits computed by a serial algorithm of Stone (1968) and a parallel algorithm of Nassimi– Sahni (1982). The proofs are a step towards computer-verified correctness proofs for efficient implementations of these algorithms.

[1]  Bernhard Schölkopf,et al.  A Tutorial Introduction , 2001 .

[2]  Michael T. Goodrich,et al.  Zig-zag sort: a simple deterministic data-oblivious sorting algorithm running in O(n log n) time , 2014, STOC.

[3]  D. C. Opferman,et al.  On a class of rearrangeable switching networks part I: Control algorithm , 1971 .

[4]  Sartaj Sahni,et al.  Parallel Algorithms to Set Up the Benes Permutation Network , 1982, IEEE Transactions on Computers.

[5]  Abraham Waksman,et al.  A Permutation Network , 1968, JACM.

[6]  E. Szemerédi,et al.  O(n LOG n) SORTING NETWORK. , 1983 .

[7]  P. Hall On Representatives of Subsets , 1935 .

[8]  Peter Schwabe,et al.  McBits: Fast Constant-Time Code-Based Cryptography , 2013, CHES.

[9]  Tony T. Lee,et al.  Parallel routing algorithms in Benes-Clos networks , 2002, IEEE Trans. Commun..

[10]  V. Benes On rearrangeable three-stage connecting networks , 1962 .

[11]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[12]  John Harrison,et al.  HOL Light: A Tutorial Introduction , 1996, FMCAD.

[13]  Charles Clos,et al.  A study of non-blocking switching networks , 1953 .

[14]  Leslie G. Valiant,et al.  A fast parallel algorithm for routing in permutation networks , 1981, IEEE Transactions on Computers.

[15]  A. Mullin,et al.  Mathematical Theory of Connecting Networks and Telephone Traffic. , 1966 .

[16]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[17]  M. Paull Reswitching of connection networks , 1962 .

[18]  Daniel J. Bernstein,et al.  conservative code-based cryptography , 2017 .