Ссылка. Вперемешку С и С++.
лучше не изобретать велосипед, а воспользоваться библиотекой MIRACL shamus.ie