# Bibliothek zur Aritmetik elliptischer Kurven
## Beschreibung :pencil:
Diese Bibliothek bietet Funktionalitaeten fuer elliptische Kurven ueber endlichen Koerpern $F_{p^n}$. Sie ermoeglicht unter anderem Berechnungen auf elliptischen Kurven.
## Verwendung :computer:
Um die Funktionalitaeten dieser Bibliothek zu nutzen, koennen Sie die folgenden Schritte ausfuehren:
1. **Installation :inbox_tray::**
Sie koennen die elliptische Kurven Bibliothek mit pip installieren:
```sh
pip install elliptic-curves-fq
```
2. **Importieren des Paketetes:**
Hier wird gezeigt, wie man die Bibliothek verwenden kann.
```python
# Erforderliche Module importieren
import elliptic_curves_fq
```
3. **Klassen, Funktionen und ihre Verwendungen :gear::**
- **start_point** Stellt den Startpunkt der sicheren elliptischen Kurve über dem schnell implementierten Körper $F_{47^{46}}$ mit integrierter Aretmetik.
```python
from elliptic_curves_fq import start_point
# Beispielcode fuer start_point
Startpunkt = start_point()
print(Startpunkt.on_Curve())
privater_Schlüssel = 1000000
öffentlicher_Schlüssel = Startpunkt * privater_Schlüssel
test = öffentlicher_Schlüssel + Startpunkt
```
- **Fp:** Stellt ein endlichen Koerper $F_p$ bereit und unterstuetzt arithmetische Operationen wie Addition, Subtraktion, Multiplikation, Division und Potenzieren durch Ueberschreiben der vorhandenen Operationen von Python.
- **Parameter:**
- `element` (int): Ein Element im endlichen Koerper.
- `p` (int): Eine Primzahl, die den endlichen Koerper definiert.
```python
from elliptic_curves_fq import Fp
# Beispielcode fuer Fp
p = 23
element = Fp(7, p)
print(element) # Ausgabe: 7
print(element + 20) # Ausgabe 4
print(element - 10) # Ausgabe 20
print(element ** 2) # Ausgabe 3
```
- **get_irreductible_polynomial:** Generiert ein irreduziblen Polynoms ueber einem endlichen Koerper $F_{p}$.
- **Parameter:**
- `p` (int): Die Primzahl, die den endlichen Koerper definiert.
- `n` (int): Der Grad des Polynoms.
```python
from elliptic_curves_fq import get_irreductible_polynomial
# Beispielcode fuer get_irreductible_polynomial
p = 17
n = 3
poly, attempts = get_irreductible_polynomial(p, n)
print(poly) # Ausgabe: [1, 7, 1, 10]
print(attempts) # Ausgabe: 3 (Anzahl der Versuche, die benoetigt wurden, um das irreduzible Polynom zu generieren.)
```
- **Fpn:** Ermoeglicht das Rechnen mit endlichen Koerpern $F_{p^n}$ und bietet Methoden wie Addition, Subtraktion, Multiplikation, Division und Potenzieren durch Ueberschreiben der vorhandenen Operationen von Python.
- **Parameter:**
- `p` (int): Eine Primzahl, die $F_p$ definiert.
- `irreducible_poly` (list): Ein irreduzibles Polynom ueber diesem Koerper. Definiert den Koerper $F_{p^n}$
- `element` (list): Ein Element von $F_{p^n}$.
```python
from elliptic_curves_fq import Fpn
# Beispielcode fuer Fpn
p = 17
irreducible_poly = [1, 1, 1, 2]
element = Fpn(p, irreducible_poly, [1, 2, 3])
print(element) # Ausgabe: [1, 2, 3]
print(element + [5,4,3]) #Ausgabe [6, 6, 6]
print(element * [2,1,3]) #Ausgabe [6, 2, 3]
print(element ** 5) #Ausgabe [6, 7, 12]
```
- **curve:** Ermoeglicht die Arbeit mit elliptischen Kurven ueber endlichen Koerpern $F_{p}$. Eine elliptische Kurve hat die folgende Form $$y^2 = x^3 + ax + b$$
- **Parameter:**
- `a` (int): Der Koeffizient 'a' der elliptischen Kurve.
- `b` (int): Der Koeffizient 'b' der elliptischen Kurve.
- `p` (int): Eine Primzahl, die den endlichen Koerper definiert.
- `start_point` (list[int,int]): Ein Startpunkt auf der elliptischen Kurve.
- `ord` (int): Die Ordnung der Kurve. Wenn die Ordnung nicht bestummen wurde: None
- Die Koeffizienten a und b werden direkt zu Objekten der Klasse Fp gemacht.
```python
from elliptic_curves_fq import curve
# Beispielcode fuer curve
p = 17
a = 12
b = 6
start_point = [8,11]
curve = curve(a, b, p, start_point, None)
print(curve) # Ausgabe: curve( a = 12, b = 6, p = 17, Startpoint = (8, 11), ord = None)
```
- **curve_Fpn:** Ermoeglicht die Arbeit mit elliptischen Kurven ueber endlichen Koerpern $F_{p^n}$.
- **Parameter:**
- `a` (list): Der Koeffizient 'a' der elliptischen Kurve.
- `b` (list): Der Koeffizient 'b' der elliptischen Kurve.
- `p` (int): Eine Primzahl, die die Basis fuer den endlichen Koerper $F_p$ ist.
- `irreducible_poly` (list): Ein irreduzibles Polynom ueber $F_p$ , welches den Koerper $F_{p^n}$ definiert.
- `start_point` (list[list,list]): Ein Startpunkt auf der elliptischen Kurve.
- `ord` (int): Die Ordnung der Kurve.
- Die Koeffizienten a und b werden direkt zu Objekten der Klasse Fpn gemacht.
```python
from elliptic_curves_fq import curve_Fpn
# Beispielcode fuer curve_Fpn
p = 17
irreducible_poly = [1, 1, 1, 2]
a = [1, 12, 8]
b = [2, 7, 6]
start_point = [[9, 10, 11],[7, 2, 4]]
curve = curve_Fpn(a, b, p, irreducible_poly, start_point, None)
print(curve) # Ausgabe: curve_Fpn( a = [1, 12, 8], b =[2, 7, 6], p = 17, ir_poly = [1, 1, 1, 2], Startpoint = ([9, 10, 11], [7, 2, 4]), ord = None)
```
- **get_random_curve :game_die::** Ermoeglicht das Erstellen einer neuen zufaelligen Kurve.
- **Parameter:**
- `p` (int): Eine Primzahl, die den endlichen Koerper definiert.
- `degree` (int): Der Grad des irreduziblen Polynom fuer die Kurve.
- `should_print` (bool): Ein Parameter, der bestimmt, ob die Kurve gedruckt werden soll.
```python
from elliptic_curves_fq import get_randomcurve
# Beispielcode fuer get_random_curve
p = 17
degree = 7
get_randomcurve(p,degree) # Ausgabe unter anderem: Kurve wurde erfolgreich generiert. Hier die Kurve um abzuspeichern.
# Kurve = curve_Fpn([15, 5, 14, 5, 3, 10, 16],[11, 10, 7, 8, 13, 4, 4],17,[1, 6, 14, 13, 4, 8, 13, 8],[[10, 15, 9, 13, 7, 2, 6],[6, 0, 12, 15, 2, 1, 12]],None)
curve = get_randomcurve(p,degree,should_print=False)
start_point = curve.startpoint
```
- **Points:** Ermoeglicht die Arithmetik elliptischer Kurve und unterstuetzt Operationen wie Punktaddition, Punktvervielfachung und andere Funktionen im Kontext elliptischer Kurven.
- **Parameter:**
- `curve` (object): Die elliptische Kurve, mit der der Punkt verbunden ist.
- `point` (list): Ein Punkt auf der elliptischen Kurve.
- Der Attribute x und y vom Punkt werden direkt in Objekte der Klassen Fp respektive Fpn umgewandelt.
```python
from elliptic_curves_fq import Points, curve_Fpn
curve = curve_Fpn([1, 12, 8], [2, 7, 6], 17, [1, 1, 1, 2], [[9, 10, 11],[7, 2, 4]], None) # Beispielkurve
point = curve.startpoint
point2 = Points([[3, 12, 16], [1, 4, 13]],curve)
print(point) # Ausgabe: ([9, 10, 11], [7, 2, 4])
print(point2) # Ausgabe: ([3, 12, 16],[1, 4, 13])
print(point + point2 ) # Ausgabe ([12, 8, 1], [1, 0, 5])
print(point * 3500) #Ausgabe ([8, 8, 2], [11, 11, 2])
```
- **main_schoof :** Zur Bestimmer Anzahl der Punkten auf einer bestimmten Kurve über dem Koerper $F_{47^{46}}$
- **Parameter:**
- `a` (numpy array): Paramter a der Kurve
- `b` (numpy array): Paramter a der Kurve
- `x` (numpy array): x Koordinate eines Puntes auf der Kurve
- `y` (numpy array): y Koordinate eines Puntes auf der Kurve
- cores (int): Zur verfügung stehenden Cores zur paralelisierung. 8 reichen für die maximale Geschwindigkeit.
```python
from elliptic_curves_fq import get_randomcurve, fast_schooftest_multy_process
import numpy as np
q = 47**46
Curve = get_randomcurve(47,[1]+ [0]*45 + [2])
a = np.array(Curve.a.value,dtype=int)
b = np.array(Curve.b.value,dtype=int)
x = np.array(Curve.startpoint.x.value,dtype=int)
y = np.array(Curve.startpoint.y.value,dtype=int)
print(fast_schooftest_multy_process.main_schoof(a,b,x,y,8))
```
- **Gespeicherte Kurven :floppy_disk::**
Ich stelle Kurven zur Verfuegung, damit nicht immer eine neue ertsellt werden muss. Alle Kurven bis auf die Kurve P_192 wurden von mir generiert.
- **P_192:** Sichere NIST-Kurve ueber Fp mit p ungefaehr 2^192
- **FBillionPowerTo20:** Eigene Kurve ueber $F(p^n)$ mit p ungefaehr 1 Billion und n = 20.
- **P991:** Eigene Kurve ueber $F(991^3)$. Die Parameter sind zufaellig.
- **P23:** Eigene Kurve ueber $F(23^3)$. Die Parameter sind zufaellig.
- **ord353:** Eigene Kurve ueber $F(7^3)$. Die Ordnung der elliptischen Kurve ist 353 und somit prim. Jeder Punkt ist ein Generator.
- **testcurvemod5:** Eigene Kurve ueber $F(5^3)$.
- **kurzmod5:** Eigene kleinste moegliche Kurve ueber $F(5^2)$.
- **Ascii:** Eigene Kurve ueber $F(131^8)$.
- **ten_power_12_power_150:** Eine spezielle Kurve mit extrem hohen Werten mit p ungefaehr 1 Billion und n = 150
Die Kurven sind als Funktionen abgespeichert. Jede Funktion hier hat kein Argument, und man erhaelt die zugehoerige Kurve.
```python
from elliptic_curves_fq import ord353
#Beispiel Code
Kurve = ord353()
startpunkt = Kurve.startpoint
```
5. **Weitere Informationen :page_facing_up::**
- Die vollstaendige Dokumentation fuer die Bibliothek finden Sie in meinem [GitHub](https://github.com/HaKa04/package-elliptic-curves-fq) Account im Odrner docs.
## License :scroll:
Dieses Projekt steht unter der MIT License - Sehen sie unter LICENSE fuer Details nach.
Ich hoffe, dass Sie diese Bibliothek nuetzlich finden. Bitte zoegern Sie nicht, bei Fragen oder Anregungen mich unter kaspar.hui@gmail.com zu kontaktieren.
Raw data
{
"_id": null,
"home_page": "https://github.com/HaKa04/package-elliptic-curves-fq",
"name": "elliptic-curves-fq",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,ECC,Finite Fields",
"author": "Kaspar Hui",
"author_email": "<kaspar.hui@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4d/f1/7d46ee5473736fdd94ce7411ce963a4eaed2f65042f9c052fe4ff8aa4a5c/elliptic_curves_fq-2.2.0.tar.gz",
"platform": null,
"description": "# Bibliothek zur Aritmetik elliptischer Kurven\r\n\r\n## Beschreibung :pencil:\r\nDiese Bibliothek bietet Funktionalitaeten fuer elliptische Kurven ueber endlichen Koerpern $F_{p^n}$. Sie ermoeglicht unter anderem Berechnungen auf elliptischen Kurven.\r\n\r\n## Verwendung :computer:\r\nUm die Funktionalitaeten dieser Bibliothek zu nutzen, koennen Sie die folgenden Schritte ausfuehren:\r\n\r\n1. **Installation :inbox_tray::**\r\n Sie koennen die elliptische Kurven Bibliothek mit pip installieren:\r\n\r\n ```sh\r\n pip install elliptic-curves-fq\r\n ```\r\n\r\n2. **Importieren des Paketetes:**\r\n Hier wird gezeigt, wie man die Bibliothek verwenden kann. \r\n\r\n ```python\r\n # Erforderliche Module importieren\r\n import elliptic_curves_fq\r\n ```\r\n\r\n3. **Klassen, Funktionen und ihre Verwendungen :gear::**\r\n - **start_point** Stellt den Startpunkt der sicheren elliptischen Kurve \u00c3\u00bcber dem schnell implementierten K\u00c3\u00b6rper $F_{47^{46}}$ mit integrierter Aretmetik.\r\n ```python\r\n from elliptic_curves_fq import start_point\r\n # Beispielcode fuer start_point\r\n Startpunkt = start_point()\r\n print(Startpunkt.on_Curve())\r\n privater_Schl\u00c3\u00bcssel = 1000000\r\n \u00c3\u00b6ffentlicher_Schl\u00c3\u00bcssel = Startpunkt * privater_Schl\u00c3\u00bcssel\r\n test = \u00c3\u00b6ffentlicher_Schl\u00c3\u00bcssel + Startpunkt\r\n ```\r\n \r\n - **Fp:** Stellt ein endlichen Koerper $F_p$ bereit und unterstuetzt arithmetische Operationen wie Addition, Subtraktion, Multiplikation, Division und Potenzieren durch Ueberschreiben der vorhandenen Operationen von Python. \r\n\r\n - **Parameter:**\r\n - `element` (int): Ein Element im endlichen Koerper.\r\n - `p` (int): Eine Primzahl, die den endlichen Koerper definiert.\r\n\r\n ```python\r\n from elliptic_curves_fq import Fp\r\n # Beispielcode fuer Fp\r\n p = 23\r\n element = Fp(7, p)\r\n print(element) # Ausgabe: 7\r\n print(element + 20) # Ausgabe 4\r\n print(element - 10) # Ausgabe 20\r\n print(element ** 2) # Ausgabe 3\r\n ```\r\n - **get_irreductible_polynomial:** Generiert ein irreduziblen Polynoms ueber einem endlichen Koerper $F_{p}$.\r\n\r\n - **Parameter:**\r\n - `p` (int): Die Primzahl, die den endlichen Koerper definiert.\r\n - `n` (int): Der Grad des Polynoms.\r\n\r\n ```python\r\n from elliptic_curves_fq import get_irreductible_polynomial\r\n # Beispielcode fuer get_irreductible_polynomial\r\n p = 17\r\n n = 3\r\n poly, attempts = get_irreductible_polynomial(p, n)\r\n print(poly) # Ausgabe: [1, 7, 1, 10]\r\n print(attempts) # Ausgabe: 3 (Anzahl der Versuche, die benoetigt wurden, um das irreduzible Polynom zu generieren.)\r\n ```\r\n\r\n - **Fpn:** Ermoeglicht das Rechnen mit endlichen Koerpern $F_{p^n}$ und bietet Methoden wie Addition, Subtraktion, Multiplikation, Division und Potenzieren durch Ueberschreiben der vorhandenen Operationen von Python.\r\n\r\n - **Parameter:**\r\n - `p` (int): Eine Primzahl, die $F_p$ definiert.\r\n - `irreducible_poly` (list): Ein irreduzibles Polynom ueber diesem Koerper. Definiert den Koerper $F_{p^n}$ \r\n - `element` (list): Ein Element von $F_{p^n}$.\r\n\r\n ```python\r\n from elliptic_curves_fq import Fpn\r\n # Beispielcode fuer Fpn\r\n p = 17\r\n irreducible_poly = [1, 1, 1, 2] \r\n element = Fpn(p, irreducible_poly, [1, 2, 3]) \r\n print(element) # Ausgabe: [1, 2, 3]\r\n print(element + [5,4,3]) #Ausgabe [6, 6, 6]\r\n print(element * [2,1,3]) #Ausgabe [6, 2, 3]\r\n print(element ** 5) #Ausgabe [6, 7, 12]\r\n ```\r\n\r\n - **curve:** Ermoeglicht die Arbeit mit elliptischen Kurven ueber endlichen Koerpern $F_{p}$. Eine elliptische Kurve hat die folgende Form $$y^2 = x^3 + ax + b$$\r\n\r\n - **Parameter:**\r\n - `a` (int): Der Koeffizient 'a' der elliptischen Kurve.\r\n - `b` (int): Der Koeffizient 'b' der elliptischen Kurve.\r\n - `p` (int): Eine Primzahl, die den endlichen Koerper definiert.\r\n - `start_point` (list[int,int]): Ein Startpunkt auf der elliptischen Kurve.\r\n - `ord` (int): Die Ordnung der Kurve. Wenn die Ordnung nicht bestummen wurde: None\r\n - Die Koeffizienten a und b werden direkt zu Objekten der Klasse Fp gemacht. \r\n\r\n ```python\r\n from elliptic_curves_fq import curve\r\n # Beispielcode fuer curve\r\n p = 17\r\n a = 12 \r\n b = 6 \r\n start_point = [8,11] \r\n curve = curve(a, b, p, start_point, None)\r\n print(curve) # Ausgabe: curve( a = 12, b = 6, p = 17, Startpoint = (8, 11), ord = None)\r\n ```\r\n\r\n - **curve_Fpn:** Ermoeglicht die Arbeit mit elliptischen Kurven ueber endlichen Koerpern $F_{p^n}$. \r\n\r\n - **Parameter:**\r\n - `a` (list): Der Koeffizient 'a' der elliptischen Kurve.\r\n - `b` (list): Der Koeffizient 'b' der elliptischen Kurve.\r\n - `p` (int): Eine Primzahl, die die Basis fuer den endlichen Koerper $F_p$ ist.\r\n - `irreducible_poly` (list): Ein irreduzibles Polynom ueber $F_p$ , welches den Koerper $F_{p^n}$ definiert.\r\n - `start_point` (list[list,list]): Ein Startpunkt auf der elliptischen Kurve.\r\n - `ord` (int): Die Ordnung der Kurve.\r\n - Die Koeffizienten a und b werden direkt zu Objekten der Klasse Fpn gemacht.\r\n ```python\r\n from elliptic_curves_fq import curve_Fpn\r\n # Beispielcode fuer curve_Fpn\r\n p = 17\r\n irreducible_poly = [1, 1, 1, 2] \r\n a = [1, 12, 8] \r\n b = [2, 7, 6] \r\n start_point = [[9, 10, 11],[7, 2, 4]] \r\n curve = curve_Fpn(a, b, p, irreducible_poly, start_point, None)\r\n print(curve) # Ausgabe: curve_Fpn( a = [1, 12, 8], b =[2, 7, 6], p = 17, ir_poly = [1, 1, 1, 2], Startpoint = ([9, 10, 11], [7, 2, 4]), ord = None)\r\n ```\r\n\r\n - **get_random_curve :game_die::** Ermoeglicht das Erstellen einer neuen zufaelligen Kurve. \r\n\r\n - **Parameter:**\r\n - `p` (int): Eine Primzahl, die den endlichen Koerper definiert.\r\n - `degree` (int): Der Grad des irreduziblen Polynom fuer die Kurve.\r\n - `should_print` (bool): Ein Parameter, der bestimmt, ob die Kurve gedruckt werden soll.\r\n\r\n ```python\r\n from elliptic_curves_fq import get_randomcurve\r\n # Beispielcode fuer get_random_curve\r\n p = 17\r\n degree = 7\r\n get_randomcurve(p,degree) # Ausgabe unter anderem: Kurve wurde erfolgreich generiert. Hier die Kurve um abzuspeichern. \r\n # Kurve = curve_Fpn([15, 5, 14, 5, 3, 10, 16],[11, 10, 7, 8, 13, 4, 4],17,[1, 6, 14, 13, 4, 8, 13, 8],[[10, 15, 9, 13, 7, 2, 6],[6, 0, 12, 15, 2, 1, 12]],None)\r\n curve = get_randomcurve(p,degree,should_print=False)\r\n start_point = curve.startpoint \r\n ```\r\n\r\n - **Points:** Ermoeglicht die Arithmetik elliptischer Kurve und unterstuetzt Operationen wie Punktaddition, Punktvervielfachung und andere Funktionen im Kontext elliptischer Kurven. \r\n\r\n - **Parameter:**\r\n - `curve` (object): Die elliptische Kurve, mit der der Punkt verbunden ist.\r\n - `point` (list): Ein Punkt auf der elliptischen Kurve.\r\n - Der Attribute x und y vom Punkt werden direkt in Objekte der Klassen Fp respektive Fpn umgewandelt.\r\n ```python\r\n from elliptic_curves_fq import Points, curve_Fpn\r\n\r\n curve = curve_Fpn([1, 12, 8], [2, 7, 6], 17, [1, 1, 1, 2], [[9, 10, 11],[7, 2, 4]], None) # Beispielkurve\r\n point = curve.startpoint \r\n point2 = Points([[3, 12, 16], [1, 4, 13]],curve) \r\n\r\n print(point) # Ausgabe: ([9, 10, 11], [7, 2, 4])\r\n print(point2) # Ausgabe: ([3, 12, 16],[1, 4, 13])\r\n print(point + point2 ) # Ausgabe ([12, 8, 1], [1, 0, 5])\r\n print(point * 3500) #Ausgabe ([8, 8, 2], [11, 11, 2])\r\n ```\r\n - **main_schoof :** Zur Bestimmer Anzahl der Punkten auf einer bestimmten Kurve \u00c3\u00bcber dem Koerper $F_{47^{46}}$\r\n\r\n - **Parameter:**\r\n - `a` (numpy array): Paramter a der Kurve\r\n - `b` (numpy array): Paramter a der Kurve\r\n - `x` (numpy array): x Koordinate eines Puntes auf der Kurve\r\n - `y` (numpy array): y Koordinate eines Puntes auf der Kurve\r\n - cores (int): Zur verf\u00c3\u00bcgung stehenden Cores zur paralelisierung. 8 reichen f\u00c3\u00bcr die maximale Geschwindigkeit.\r\n ```python\r\n from elliptic_curves_fq import get_randomcurve, fast_schooftest_multy_process\r\n import numpy as np\r\n q = 47**46\r\n Curve = get_randomcurve(47,[1]+ [0]*45 + [2])\r\n a = np.array(Curve.a.value,dtype=int)\r\n b = np.array(Curve.b.value,dtype=int)\r\n x = np.array(Curve.startpoint.x.value,dtype=int)\r\n y = np.array(Curve.startpoint.y.value,dtype=int)\r\n print(fast_schooftest_multy_process.main_schoof(a,b,x,y,8))\r\n ```\r\n\r\n - **Gespeicherte Kurven :floppy_disk::**\r\n Ich stelle Kurven zur Verfuegung, damit nicht immer eine neue ertsellt werden muss. Alle Kurven bis auf die Kurve P_192 wurden von mir generiert. \r\n - **P_192:** Sichere NIST-Kurve ueber Fp mit p ungefaehr 2^192\r\n - **FBillionPowerTo20:** Eigene Kurve ueber $F(p^n)$ mit p ungefaehr 1 Billion und n = 20.\r\n - **P991:** Eigene Kurve ueber $F(991^3)$. Die Parameter sind zufaellig.\r\n - **P23:** Eigene Kurve ueber $F(23^3)$. Die Parameter sind zufaellig.\r\n - **ord353:** Eigene Kurve ueber $F(7^3)$. Die Ordnung der elliptischen Kurve ist 353 und somit prim. Jeder Punkt ist ein Generator.\r\n - **testcurvemod5:** Eigene Kurve ueber $F(5^3)$.\r\n - **kurzmod5:** Eigene kleinste moegliche Kurve ueber $F(5^2)$.\r\n - **Ascii:** Eigene Kurve ueber $F(131^8)$.\r\n - **ten_power_12_power_150:** Eine spezielle Kurve mit extrem hohen Werten mit p ungefaehr 1 Billion und n = 150\r\n\r\n Die Kurven sind als Funktionen abgespeichert. Jede Funktion hier hat kein Argument, und man erhaelt die zugehoerige Kurve.\r\n ```python\r\n from elliptic_curves_fq import ord353\r\n #Beispiel Code\r\n Kurve = ord353()\r\n startpunkt = Kurve.startpoint\r\n ```\r\n\r\n5. **Weitere Informationen :page_facing_up::**\r\n - Die vollstaendige Dokumentation fuer die Bibliothek finden Sie in meinem [GitHub](https://github.com/HaKa04/package-elliptic-curves-fq) Account im Odrner docs. \r\n \r\n## License :scroll:\r\nDieses Projekt steht unter der MIT License - Sehen sie unter LICENSE fuer Details nach.\r\n\r\nIch hoffe, dass Sie diese Bibliothek nuetzlich finden. Bitte zoegern Sie nicht, bei Fragen oder Anregungen mich unter kaspar.hui@gmail.com zu kontaktieren.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "ECC Library",
"version": "2.2.0",
"project_urls": {
"Homepage": "https://github.com/HaKa04/package-elliptic-curves-fq"
},
"split_keywords": [
"python",
"ecc",
"finite fields"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e6e04507b80f38c4eb183806647d507e1d8da3b1f5b7fc8a1627b9220f8baf66",
"md5": "88cfcc53bf316b2e46543cbc1ad05aa2",
"sha256": "3e86600e2d962c167648afe2399e3f2bb77a9cc744e5eb937d994c77505e8451"
},
"downloads": -1,
"filename": "elliptic_curves_fq-2.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "88cfcc53bf316b2e46543cbc1ad05aa2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 45907,
"upload_time": "2024-03-17T13:41:04",
"upload_time_iso_8601": "2024-03-17T13:41:04.402510Z",
"url": "https://files.pythonhosted.org/packages/e6/e0/4507b80f38c4eb183806647d507e1d8da3b1f5b7fc8a1627b9220f8baf66/elliptic_curves_fq-2.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4df17d46ee5473736fdd94ce7411ce963a4eaed2f65042f9c052fe4ff8aa4a5c",
"md5": "e41d0d88fa949bbf3ca0f174993b1f1a",
"sha256": "fde84dafa94d47f427fe9914a9dd958526232559939b81b6e41c072ba708cbeb"
},
"downloads": -1,
"filename": "elliptic_curves_fq-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "e41d0d88fa949bbf3ca0f174993b1f1a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30944,
"upload_time": "2024-03-17T13:41:06",
"upload_time_iso_8601": "2024-03-17T13:41:06.823942Z",
"url": "https://files.pythonhosted.org/packages/4d/f1/7d46ee5473736fdd94ce7411ce963a4eaed2f65042f9c052fe4ff8aa4a5c/elliptic_curves_fq-2.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-17 13:41:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "HaKa04",
"github_project": "package-elliptic-curves-fq",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numpy",
"specs": [
[
"==",
"1.26.3"
]
]
}
],
"lcname": "elliptic-curves-fq"
}