/* ************************************************
   "braidpkc.h"
   公開鍵暗号系の設計に必要な関数−インタフェイス部
   ************************************************ */

#include "list.h"
#include "braid.h"
#include "canonical.h"
#include "make_canonical.h"

void create_random(List&,int);                       // ランダムにブレイドを生成
void shift_braid(List&,int);                         // 生成元をずらす
void product_conj(Canonical&,Canonical&,Canonical&); // y=axa^-1を計算
int cross_strings(Canonical&,int []);                // 紐の交差の情報
void hash_md5(int [],int,int []);                    // ハッシュ関数
int exclusive_or(int [],char [],int []);             // 排他的論理和
void exclusive_or(int [],int [],int,char []);        // 排他的論理和