CRAG

CRyptography And Groups (CRAG) C++ and Python Library. The Cryptography And Groups (CRAG) Library provides an environment to test cryptographic protocols constructed from non-commutative groups, for example the braid group. The Library is written in C++ and provides an interface and routines for computations. There are implementations of basic algebraic objects like words, maps and subgroups. We plan to continually expand the list of group-theoretic algorithms implemented in the library. In addition the Library will contain classes and routines implementing non-classical heuristic approaches and tools to perform statistical and exploratory analysis of algebraic data. Together with the C++ source code CRAG contains interface to Python scripting language.