  Recent theoretical developments in coset coding theory have provided
continuous-valued functions which give the equivocation and maximum likelihood
(ML) decoding probability of coset secrecy codes. In this work, we develop a
method for incorporating these functions, along with a complex set of
constraints, into a gradient descent optimization algorithm. This algorithm
employs a movement cost function and trigonometric update step to ensure that
the continuous-valued code definition vector ultimately reaches a value which
yields a realizable coset code. This algorithm is used to produce coset codes
with blocklength up to a few thousand. These codes were compared against
published codes, including both short-blocklength and capacity-achieving
constructions. For most code sizes, codes generated using gradient descent
outperformed all others, especially capacity-achieving constructions, which
performed significantly worse than randomly-generated codes at short
blocklength.
