Charles V. Schaefer, Jr. School of Engineering and Science
 
 
SES Home » Science Departments » Algebraic Cryptography Center » Software

Software

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.

Third party contributions and cooperation in the areas appropriate to the goals of the project are most welcome.

Download

C++ library source code:

C++ library reference:

Previous versions

Documentation

General information

CRAG FAQs page

CRAG C++ Library Reference

Copyright note

Copyright (C) 2004-2013 The Algebraic Cryptography Center at Stevens.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation (see http://www.gnu.org/copyleft/.)

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; If you modify the source of the library we ask that you change the names of the modified classes/routines and comment the changes made to the original.

Contacts

For any questions and/or suggestions please contact:

  • Alex Myasnikov: amyasnikstevens.edu
  • Alexander Ushakov: aushakovstevens.edu