Givaro
|
RSA domain. More...
#include <givintrsa.h>
Public Member Functions | |
IntRSADom (bool fi=false, MyRandIter g=MyRandIter()) | |
Constructors. | |
const Element & | getn () const |
Accesses. | |
std::ostream & | encipher (std::ostream &, std::istream &) const |
Text conversions. | |
Element & | strong_prime (random_generator &g, int64_t psize, Element &p) const |
Strong Primes. More... | |
void | keys_gen (random_generator &g, int64_t psize, int64_t qsize, Element &n, Element &e, Element &d, Element &p, Element &q) const |
Key gen. More... | |
int64_t | log (const Element &n, const int64_t=10) const |
log[10] | |
std::ostream & | ecriture_str (std::ostream &, const Element &) const |
Text conversions. | |
Element & | point_break (Element &u) |
Breaking codes : finding u knowing only m an k ... | |
bool | set (Container1 &setint, Container2 &setpwd, const Rep &a, unsigned long loops=0) const |
Factors with primes. | |
Rep & | Erathostene (Rep &, const Rep &p) const |
returns a small factor | |
bool | isUnit (const Rep &x) const |
isUnit | |
bool | isDivisor (const Element &a, const Element &b) const |
isDivisor (a, b) Test if b | a. | |
Input/Output Operations | |
std::ostream & | write (std::ostream &os, std::string F) const |
Read field. More... | |
std::istream & | read (std::istream &is) const |
Read field. More... | |
Arithmetic Operations | |
The first argument is set and is also the return value. | |
Element & | mul (Element &x, const Element &y, const Element &z) const |
x := y*z | |
Element & | div (Element &x, const Element &y, const Element &z) const |
x := y/z | |
Element & | mod (Element &x, const Element &y, const Element &z) const |
x := y mod z | |
Element & | add (Element &x, const Element &y, const Element &z) const |
x := y + z | |
Element & | sub (Element &x, const Element &y, const Element &z) const |
x := y - z | |
Element & | axpy (Element &z, const Element &a, const Element &x, const Element &y) const |
z := a*x + y | |
Element & | maxpy (Element &z, const Element &a, const Element &x, const Element &y) const |
z := y - a*x | |
Element & | maxpyin (Element &z, const Element &a, const Element &x) const |
z := z - a*x | |
Element & | axmy (Element &z, const Element &a, const Element &x, const Element &y) const |
z := a*x - y | |
Element & | axpyin (Element &z, const Element &a, const Element &x) const |
z := a*x + z | |
Element & | axmyin (Element &z, const Element &a, const Element &x) const |
z := a*x - z | |
Element & | neg (Element &x, const Element &y) const |
x := -y | |
Element & | inv (Element &x, const Element &y) const |
x := 1/y | |
Inplace Arithmetic Operations | |
The first argument is modified and the result is the return value. | |
Element & | mulin (Element &x, const Element &y) const |
x := x*y | |
Element & | divin (Element &x, const Element &y) const |
x := x/y | |
Element & | modin (Element &x, const Element &y) const |
x := x mod y | |
Element & | addin (Element &x, const Element &y) const |
x := x + y | |
Element & | subin (Element &x, const Element &y) const |
x := x - y | |
Element & | negin (Element &x) const |
x := -x | |
Element & | invin (Element &x) const |
x := 1/x | |
Comparison Predicates | |
bool | areEqual (const Element &x, const Element &y) const |
x == y | |
Protected Attributes | |
bool | _fast_impl |
Fast implementation. More... | |
RSA domain.
IntRSADom< MyRandIter >::Element & strong_prime | ( | random_generator & | g, |
int64_t | psize, | ||
Element & | p | ||
) | const |
Strong Primes.
void keys_gen | ( | random_generator & | g, |
int64_t | psize, | ||
int64_t | qsize, | ||
Element & | n, | ||
Element & | e, | ||
Element & | d, | ||
Element & | p, | ||
Element & | q | ||
) | const |
Key gen.
Here m = p*q p and q are prime numbers of respective sizes psize, qsize Moreover p-1 and q-1 have one prime factor of respective size 2/3 since k.u = 1 mod (p-1)(q-1)
|
inlineinherited |
Read field.
is | input stream from which field is read. |
|
inlineinherited |
Read field.
is | input stream from which field is read. |
|
protected |
Fast implementation.
Means simple enciphering key, and deciphering via chinese remaindering.