libcryptosec
EllipticCurve.h
Go to the documentation of this file.
1 #ifndef EllipticCurve_H_
2 #define EllipticCurve_H_
3 
4 /* c++ library includes */
5 #include <string>
6 
7 /* local includes */
9 
17 
18 public:
19 
20  EllipticCurve();
21 
26  EllipticCurve(ByteArray &encoded);
27 
32  EllipticCurve(std::string &encoded);
33 
35 
36  const BIGNUM * BN_a() const throw();
37 
38  const BIGNUM * BN_b() const throw();
39 
40  const BIGNUM * BN_p() const throw();
41 
42  const BIGNUM * BN_x() const throw();
43 
44  const BIGNUM * BN_y() const throw();
45 
46  const BIGNUM * BN_order() const throw();
47 
48  const BIGNUM * BN_cofactor() const throw();
49 
50  /*
51  * Getters and setters. Setter com Hex disponível para simplificação
52  * de código (caso mais comum).
53  */
54  const BigInteger getA() const;
55  void setA(const BigInteger a);
56  void setA(const std::string hex);
57  const BigInteger getB() const;
58  void setB(const BigInteger b);
59  void setB(const std::string hex);
60  const BigInteger getCofactor() const;
61  void setCofactor(const BigInteger cofactor);
62  void setCofactor(const std::string hex);
63  const std::string getName() const;
64  void setName(const std::string name);
65  const std::string getOid() const;
66  void setOid(const std::string oid);
67  const BigInteger getOrder() const;
68  void setOrder(const BigInteger order);
69  void setOrder(const std::string hex);
70  const BigInteger getP() const;
71  void setP(const BigInteger p);
72  void setP(const std::string hex);
73  const BigInteger getX() const;
74  void setX(const BigInteger x);
75  void setX(const std::string hex);
76  const BigInteger getY() const;
77  void setY(const BigInteger y);
78  void setY(const std::string hex);
79 
80 protected:
81  std::string oid, name;
83 
84  static const std::string notSpecified;
85 
86 };
87 #endif /* EllipticCurve_H_ */
Classe usada para representar números grandes. A limitação do tamanho do número depende da memória di...
Definition: BigInteger.h:23
Classe usada para representar curvas elípticas. Esta classe possui funções para que os parâmetros das...
Definition: EllipticCurve.h:16
const BigInteger getCofactor() const
Definition: EllipticCurve.cpp:64
const std::string getOid() const
Definition: EllipticCurve.cpp:80
const BIGNUM * BN_y() const
Definition: EllipticCurve.cpp:36
void setName(const std::string name)
Definition: EllipticCurve.cpp:76
void setY(const BigInteger y)
Definition: EllipticCurve.cpp:116
void setA(const BigInteger a)
Definition: EllipticCurve.cpp:52
BigInteger order
Definition: EllipticCurve.h:82
EllipticCurve()
Definition: EllipticCurve.cpp:5
void setOrder(const BigInteger order)
Definition: EllipticCurve.cpp:92
void setX(const BigInteger x)
Definition: EllipticCurve.cpp:108
const BigInteger getB() const
Definition: EllipticCurve.cpp:56
std::string oid
Definition: EllipticCurve.h:81
const BIGNUM * BN_b() const
Definition: EllipticCurve.cpp:24
BigInteger b
Definition: EllipticCurve.h:82
BigInteger p
Definition: EllipticCurve.h:82
const BigInteger getX() const
Definition: EllipticCurve.cpp:104
const BigInteger getA() const
Definition: EllipticCurve.cpp:48
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
const BigInteger getP() const
Definition: EllipticCurve.cpp:96
BigInteger a
Definition: EllipticCurve.h:82
~EllipticCurve()
Definition: EllipticCurve.cpp:17
std::string name
Definition: EllipticCurve.h:81
const BIGNUM * BN_a() const
Definition: EllipticCurve.cpp:20
BigInteger y
Definition: EllipticCurve.h:82
const BIGNUM * BN_p() const
Definition: EllipticCurve.cpp:28
const BIGNUM * BN_order() const
Definition: EllipticCurve.cpp:40
const BigInteger getY() const
Definition: EllipticCurve.cpp:112
const BigInteger getOrder() const
Definition: EllipticCurve.cpp:88
const BIGNUM * BN_cofactor() const
Definition: EllipticCurve.cpp:44
BigInteger x
Definition: EllipticCurve.h:82
const std::string getName() const
Definition: EllipticCurve.cpp:72
BigInteger cofactor
Definition: EllipticCurve.h:82
void setB(const BigInteger b)
Definition: EllipticCurve.cpp:60
static const std::string notSpecified
Definition: EllipticCurve.h:84
void setCofactor(const BigInteger cofactor)
Definition: EllipticCurve.cpp:68
void setP(const BigInteger p)
Definition: EllipticCurve.cpp:100
const BIGNUM * BN_x() const
Definition: EllipticCurve.cpp:32
void setOid(const std::string oid)
Definition: EllipticCurve.cpp:84