summaryrefslogtreecommitdiff
path: root/rsa/common.py
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@stuvel.eu>2011-07-10 12:05:33 +0200
committerSybren A. Stüvel <sybren@stuvel.eu>2011-07-10 12:05:33 +0200
commit714324a9a34f0958704e5064251a1f00ed37a372 (patch)
treee2d9df694d209faa8e665aee2c7cbb645d52a485 /rsa/common.py
parent57e5d9e1e192d8199917c86eb73e310f8dc88a24 (diff)
downloadrsa-git-714324a9a34f0958704e5064251a1f00ed37a372.tar.gz
Lot of refactorings:
- Added PKCS#1 module - Moved some functionality to common.py - simplified random number generation - improved and extended doctests - added changelog
Diffstat (limited to 'rsa/common.py')
-rw-r--r--rsa/common.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/rsa/common.py b/rsa/common.py
index b8f7aa6..7c852b6 100644
--- a/rsa/common.py
+++ b/rsa/common.py
@@ -14,5 +14,18 @@ def bit_size(number):
'''
+ if number < 0:
+ raise ValueError('Only nonnegative numbers possible: %s' % number)
+
+ if number == 0:
+ return 1
+
return int(math.ceil(math.log(number, 2)))
+def byte_size(number):
+ """Returns the number of bytes required to hold a specific long number.
+
+ The number of bytes is rounded up.
+ """
+
+ return int(math.ceil(bit_size(number) / 8.0))