OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
cryptography
/
hazmat
/
primitives
/
asymmetric
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/05/2020 06:02:51 AM
rwxr-xr-x
📄
__init__.py
1020 bytes
11/30/2017 01:53:32 AM
rw-r--r--
📁
__pycache__
-
11/05/2020 06:02:51 AM
rwxr-xr-x
📄
dh.py
5.33 KB
11/30/2017 01:53:32 AM
rw-r--r--
📄
dsa.py
6.73 KB
11/30/2017 01:54:42 AM
rw-r--r--
📄
ec.py
9.59 KB
11/30/2017 01:53:32 AM
rw-r--r--
📄
padding.py
2.21 KB
11/30/2017 01:53:32 AM
rw-r--r--
📄
rsa.py
10.08 KB
11/30/2017 01:53:32 AM
rw-r--r--
📄
utils.py
1.68 KB
11/30/2017 01:53:32 AM
rw-r--r--
📄
x25519.py
1.61 KB
11/30/2017 01:53:32 AM
rw-r--r--
Editing: x25519.py
Close
# This file is dual licensed under the terms of the Apache License, Version # 2.0, and the BSD License. See the LICENSE file in the root of this repository # for complete details. from __future__ import absolute_import, division, print_function import abc import six from cryptography.exceptions import UnsupportedAlgorithm, _Reasons @six.add_metaclass(abc.ABCMeta) class X25519PublicKey(object): @classmethod def from_public_bytes(cls, data): from cryptography.hazmat.backends.openssl.backend import backend if not backend.x25519_supported(): raise UnsupportedAlgorithm( "X25519 is not supported by this version of OpenSSL.", _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM ) return backend.x25519_load_public_bytes(data) @abc.abstractmethod def public_bytes(self): pass @six.add_metaclass(abc.ABCMeta) class X25519PrivateKey(object): @classmethod def generate(cls): from cryptography.hazmat.backends.openssl.backend import backend if not backend.x25519_supported(): raise UnsupportedAlgorithm( "X25519 is not supported by this version of OpenSSL.", _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM ) return backend.x25519_generate_key() @classmethod def _from_private_bytes(cls, data): from cryptography.hazmat.backends.openssl.backend import backend return backend.x25519_load_private_bytes(data) @abc.abstractmethod def public_key(self): pass @abc.abstractmethod def exchange(self, peer_public_key): pass