OXIESEC PANEL
- Current Dir:
/
/
opt
/
gsutil
/
third_party
/
rsa
/
rsa
Server IP: 2a02:4780:11:1594:0:ef5:22d7:a
Upload:
Create Dir:
Name
Size
Modified
Perms
π
..
-
12/11/2024 09:39:44 AM
rwxr-xr-x
π
__init__.py
1.51 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
__pycache__
-
02/11/2025 08:19:48 AM
rwxr-xr-x
π
_compat.py
4.24 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
asn1.py
1.74 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
cli.py
8.99 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
common.py
4.46 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
core.py
1.62 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
key.py
23.96 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
machine_size.py
2.3 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
parallel.py
2.27 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
pem.py
3.48 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
pkcs1.py
14.35 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
pkcs1_v2.py
3.38 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
prime.py
4.95 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
randnum.py
2.58 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
transform.py
6.44 KB
04/05/2021 03:08:16 PM
rw-r--r--
π
util.py
2.99 KB
04/05/2021 03:08:16 PM
rw-r--r--
Editing: core.py
Close
# -*- coding: utf-8 -*- # # Copyright 2011 Sybren A. StΓΌvel <sybren@stuvel.eu> # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Core mathematical operations. This is the actual core RSA implementation, which is only defined mathematically on integers. """ from rsa._compat import is_integer def assert_int(var, name): if is_integer(var): return raise TypeError('%s should be an integer, not %s' % (name, var.__class__)) def encrypt_int(message, ekey, n): """Encrypts a message using encryption key 'ekey', working modulo n""" assert_int(message, 'message') assert_int(ekey, 'ekey') assert_int(n, 'n') if message < 0: raise ValueError('Only non-negative numbers are supported') if message > n: raise OverflowError("The message %i is too long for n=%i" % (message, n)) return pow(message, ekey, n) def decrypt_int(cyphertext, dkey, n): """Decrypts a cypher text using the decryption key 'dkey', working modulo n""" assert_int(cyphertext, 'cyphertext') assert_int(dkey, 'dkey') assert_int(n, 'n') message = pow(cyphertext, dkey, n) return message