From cd2a1a883ece50bdeff5f5a8e66ba807c16615a0 Mon Sep 17 00:00:00 2001 From: Mohammed Attia Date: Wed, 5 Mar 2014 21:54:06 +0200 Subject: Add bit_length function to utils --- cryptography/utils.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cryptography/utils.py b/cryptography/utils.py index e697d515..eac833b6 100644 --- a/cryptography/utils.py +++ b/cryptography/utils.py @@ -13,9 +13,18 @@ from __future__ import absolute_import, division, print_function +import sys + def register_interface(iface): def register_decorator(klass): iface.register(klass) return klass return register_decorator + + +def bit_length(x): + if sys.version_info >= (2, 7): + return x.bit_length() + else: + return len(bin(x)) - (2 + (x <= 0)) -- cgit v1.2.3 From b1ab2229f6a7db4301f5fd80ef1715d02276ce81 Mon Sep 17 00:00:00 2001 From: Mohammed Attia Date: Wed, 5 Mar 2014 21:55:56 +0200 Subject: Use the bit_length function from utils in RSA --- cryptography/hazmat/primitives/asymmetric/rsa.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/cryptography/hazmat/primitives/asymmetric/rsa.py b/cryptography/hazmat/primitives/asymmetric/rsa.py index d8254046..dfb43340 100644 --- a/cryptography/hazmat/primitives/asymmetric/rsa.py +++ b/cryptography/hazmat/primitives/asymmetric/rsa.py @@ -13,21 +13,12 @@ from __future__ import absolute_import, division, print_function -import sys - import six from cryptography import utils from cryptography.hazmat.primitives import interfaces -def _bit_length(x): - if sys.version_info >= (2, 7): - return x.bit_length() - else: - return len(bin(x)) - (2 + (x <= 0)) - - @utils.register_interface(interfaces.RSAPublicKey) class RSAPublicKey(object): def __init__(self, public_exponent, modulus): @@ -55,7 +46,7 @@ class RSAPublicKey(object): @property def key_size(self): - return _bit_length(self.modulus) + return utils.bit_length(self.modulus) @property def public_exponent(self): @@ -144,7 +135,7 @@ class RSAPrivateKey(object): @property def key_size(self): - return _bit_length(self.modulus) + return utils.bit_length(self.modulus) def public_key(self): return RSAPublicKey(self.public_exponent, self.modulus) -- cgit v1.2.3