Articles of criptografía

Python: ¿dónde está random.random () sembrado?

Digamos que tengo un código python: import random r=random.random() ¿De dónde viene el valor de r sembrado en general? ¿Y qué pasa si mi sistema operativo no tiene aleatoriedad, entonces dónde se siembra? ¿Por qué no se recomienda esto para la criptografía? ¿Hay alguna manera de saber cuál es el número aleatorio?

Usando un factor de cegamiento para RSA en pycrypto

En Python, estoy tratando de cegar y desenlazar un mensaje. Cuando desactivo el mensaje, no recibo el mensaje original. ¿Alguien sabe lo que podría estar haciendo mal? El siguiente es mi código: s = ‘Hello’ loadedPublic = get_publickey() loadedPrivate = get_privatekey() pub = loadedPublic.blind(s,23L) pub2 = loadedPublic.unblind(pub,23L) return HttpResponse(pub2)

Adición de puntos de curva elíptica sobre un campo finito en Python

En resumen, estoy tratando de agregar dos puntos en una curva elíptica y ^ 2 = x ^ 3 + ax + b sobre un campo finito Fp. Ya tengo una implementación operativa sobre R, pero no sé cómo alterar las fórmulas generales que he encontrado para que puedan continuar con la adición sobre Fp. […]

AES-128 CBC descifrado en Python

Estoy intentando implementar este código en python (soy nuevo en python) y me da el siguiente error: AttributeError: el objeto ‘str’ no tiene atributo ‘decodificar’ Si eliminamos .decode (‘hex’) solo para evitar dicho error: from itertools import product from Crypto.Cipher import AES import Crypto.Cipher.AES key = (‘2b7e151628aed2a6abf7158809cf4f3c’).decode(‘hex’) IV = (‘000102030405060708090a0b0c0d0e0f’).decode(‘hex’) plaintext1 = (‘6bc1bee22e409f96e93d7e117393172a’).decode(‘hex’) plaintext2 = […]

¿Cómo funciona AES en CTR para Python con PyCrypto?

Estoy usando python 2.7.1 Quiero cifrar algo usando AES en modo CTR. Instalé la biblioteca PyCrypto para Python. Escribí el siguiente código: secret = os.urandom(16) crypto = AES.new(os.urandom(32), AES.MODE_CTR, counter=lambda: secret) encrypted = crypto.encrypt(“asdk”) print crypto.decrypt(encrypted) Tengo que ejecutar crypto.decrypt tantas veces como el tamaño de byte de mi texto sin formato para obtener correctamente […]

Encriptación simétrica de enteros a enteros

Necesito algunos punteros o un ejemplo práctico sobre cómo cifrar un int a otro int, y se necesitaría una clave secreta para descifrar el valor. Algo como: encrypt(1, “secret key”) == 67123571122 decrypt(67123571122, “secret key”) == 1 Este tipo hace casi la misma pregunta: Algoritmo bijetivo simétrico para enteros sin embargo, al ser un cifrado […]

¿Cómo almacenar una clave criptográfica de forma segura?

Estoy pensando en usar una biblioteca criptográfica como pycrypto para cifrar / descifrar campos en mi base de datos web de python. Pero los algoritmos de cifrado requieren una clave. Si tengo una clave no cifrada en mi fuente, parece tonto intentar el cifrado de los campos db como en mi servidor si alguien tiene […]

Paramiko / criptografía advertencias de desaprobación: Criptografía Depresión Advertencia: encode_point ha sido desaprobado en EllipticCurvePublicNumbers

Sigo recibiendo las siguientes advertencias de desaprobación cuando hago conexiones SSH simples: 2019-03-04 02:21:14 [transport] INFO : Connected (version 2.0, client OpenSSH_7.4) /usr/local/lib/python2.7/site-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding. m.add_string(self.Q_C.public_numbers().encode_point()) /usr/local/lib/python2.7/site-packages/paramiko/kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe […]

utilizando DES / 3DES con python

¿Cuál es el mejor módulo / paquete en python para usar des / 3des para cifrado / descifrado? alguien podría proporcionar un ejemplo para cifrar datos con des / 3des en python.

Will python SystemRandom / os.urandom siempre tendrá suficiente entropía para una buena criptografía

Tengo un generador de contraseñas: import random, string def gen_pass(): foo = random.SystemRandom() length = 64 chars = string.letters + string.digits return ”.join(foo.choice(chars) for _ in xrange(length)) De acuerdo con los documentos, SystemRandom usa os.urandom que usa / dev / urandom para arrojar bits de cryto al azar. En Linux puede obtener bits aleatorios de […]