Upper Bounds for Cryptogenography via Sum of Squares

Python code

Put both files into the same directory. Use as follows:

bash$ python generate_matlab_code.py
usage: generate_matlab_code numberOfPlayers degree [yalmip|sagemath|sostools]
not outputting anything

bash$ python generate_matlab_code.py 2 4 yalimp
[outputs parts of the yalmip code; the parts that depend on the degree]

Warning: Best to use it only for 2 players. For larger numbers the functionality is sketchy.

Yalmip/matlab code for the SoS program

Matlab code to verify the solution to the degree 6 SoS program


This file contains the function f as computed by the SoS program; h, the second derivative of f along a generic Alice-line at t=0; a way to write h as a combination of SoS polynomials QI and the "boundary polynomials" bi and c as in the paper. Each polynomial QI is defined in this file directly as a sum of squares, like for example

Q13 = + P379^2 + P380^2 + P381^2 + P382^2 + P383^2 + P384^2 + P385^2;

where the polynomials P379 etc. are also defined in this file. So it is clear by design that each QI is a SoS polynomial.