Python Crypto.Cipher.Blowfish.MODE_ECB Examples
The following are 18
code examples of Crypto.Cipher.Blowfish.MODE_ECB().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
Crypto.Cipher.Blowfish
, or try the search function
.
Example #1
Source File: encryptionencoding.py From chepy with GNU General Public License v3.0 | 12 votes |
def triple_des_encrypt( self, key: str, iv: str = "0000000000000000", mode: str = "CBC", hex_key: bool = False, hex_iv: bool = True, ): """Encrypt raw state with Triple DES Triple DES applies DES three times to each block to increase key size. Key: Triple DES uses a key length of 24 bytes (192 bits).<br>DES uses a key length of 8 bytes (64 bits).<br><br>You can generate a password-based key using one of the KDF operations. IV: The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes. Padding: In CBC and ECB mode, PKCS#7 padding will be used. Args: key (str): Required. The secret key iv (str, optional): IV for certain modes only. Defaults to '0000000000000000'. mode (str, optional): Encryption mode. Defaults to 'CBC'. hex_key (bool, optional): If the secret key is a hex string. Defaults to False. hex_iv (bool, optional): If the IV is a hex string. Defaults to True. Returns: Chepy: The Chepy object. Examples: >>> Chepy("some data").triple_des_encrypt("super secret password !!", mode="ECB").o b"f8b27a0d8c837edc8fb00ea85f502fb4" """ self.__check_mode(mode) key, iv = self._convert_key(key, iv, hex_key, hex_iv) if mode == "CBC": cipher = DES3.new(key, mode=DES3.MODE_CBC, iv=iv) self.state = cipher.encrypt(pad(self._convert_to_bytes(), 8)) return self elif mode == "ECB": cipher = DES3.new(key, mode=DES3.MODE_ECB) self.state = cipher.encrypt(pad(self._convert_to_bytes(), 8)) return self elif mode == "CTR": cipher = DES3.new(key, mode=DES3.MODE_CTR, nonce=b"") self.state = cipher.encrypt(self._convert_to_bytes()) return self elif mode == "OFB": cipher = DES3.new(key, mode=DES3.MODE_OFB, iv=iv) self.state = cipher.encrypt(self._convert_to_bytes()) return self
Example #2
Source File: encryptionencoding.py From chepy with GNU General Public License v3.0 | 6 votes |
def des_encrypt( self, key: str, iv: str = "0000000000000000", mode: str = "CBC", hex_key: bool = False, hex_iv: bool = True, ): """Encrypt raw state with DES DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size. DES uses a key length of 8 bytes (64 bits).<br>Triple DES uses a key length of 24 bytes. You can generate a password-based key using one of the KDF operations. The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes. Padding: In CBC and ECB mode, PKCS#7 padding will be used. Args: key (str): Required. The secret key iv (str, optional): IV for certain modes only. Defaults to '0000000000000000'. mode (str, optional): Encryption mode. Defaults to 'CBC'. hex_key (bool, optional): If the secret key is a hex string. Defaults to False. hex_iv (bool, optional): If the IV is a hex string. Defaults to True. Returns: Chepy: The Chepy object. Examples: >>> Chepy("some data").des_encrypt("70617373776f7264", hex_key=True).o b"1ee5cb52954b211d1acd6e79c598baac" To encrypt using a differnt mode >>> Chepy("some data").des_encrypt("password", mode="CTR").o b"0b7399049b0267d93d" """ self.__check_mode(mode) key, iv = self._convert_key(key, iv, hex_key, hex_iv) if mode == "CBC": cipher = DES.new(key, mode=DES.MODE_CBC, iv=iv) self.state = cipher.encrypt(pad(self._convert_to_bytes(), 8)) return self elif mode == "ECB": cipher = DES.new(key, mode=DES.MODE_ECB) self.state = cipher.encrypt(pad(self._convert_to_bytes(), 8)) return self elif mode == "CTR": cipher = DES.new(key, mode=DES.MODE_CTR, nonce=b"") self.state = cipher.encrypt(self._convert_to_bytes()) return self elif mode == "OFB": cipher = DES.new(key, mode=DES.MODE_OFB, iv=iv) self.state = cipher.encrypt(self._convert_to_bytes()) return self
Example #3
Source File: bfcrypt.py From SecureSnaps with MIT License | 6 votes |
def decrypt(ciphername,password): cipher= open(ciphername, 'r') ciphertext= cipher.read() crypt_obj = Blowfish.new(password, Blowfish.MODE_ECB) pixelstring= crypt_obj.decrypt(ciphertext) x= pixelstring.split(',') H,W= int(x[-2]),int(x[-1]) pixelstring= x[0] pixelstring= [int(pixelstring[i:i+3])-100 for i in range(0, len(pixelstring), 3)] data = np.zeros((H, W, 3), dtype=np.uint8) c= 0 for i in range(H): for j in range(W): data[i,j]= pixelstring[c], pixelstring[c+1], pixelstring[c+2] c=c+3 img = Image.fromarray(data, 'RGB') x= ciphername.split('.') img.save(x[0]+'_dec.'+x[-2]) img.show()
Example #4
Source File: bfcrypt.py From SecureSnaps with MIT License | 6 votes |
def encrypt(imagename,password): img = Image.open( imagename ) img.load() data = np.asarray( img, dtype="int32" ) H, W = len(data), len(data[0]) print(H) print(W) pixelstring= "" for t in data: for p in t: for i in p: pixelstring= pixelstring + str(100+i) pixelstring= pixelstring+','+str(H)+','+str(W) crypt_obj = Blowfish.new(password, Blowfish.MODE_ECB) ciphertext = crypt_obj.encrypt(pad_string(pixelstring)) cipher= open(imagename+'.crypt', 'w') cipher.write(ciphertext)
Example #5
Source File: encryptionencoding.py From chepy with GNU General Public License v3.0 | 5 votes |
def triple_des_decrypt( self, key: str, iv: str = "0000000000000000", mode: str = "CBC", hex_key: bool = False, hex_iv: bool = True, ): """Decrypt raw state encrypted with DES. Triple DES applies DES three times to each block to increase key size. Key: Triple DES uses a key length of 24 bytes (192 bits).<br>DES uses a key length of 8 bytes (64 bits).<br><br>You can generate a password-based key using one of the KDF operations. IV: The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes. Padding: In CBC and ECB mode, PKCS#7 padding will be used. Args: key (str): Required. The secret key iv (str, optional): IV for certain modes only. Defaults to '0000000000000000'. mode (str, optional): Encryption mode. Defaults to 'CBC'. hex_key (bool, optional): If the secret key is a hex string. Defaults to False. hex_iv (bool, optional): If the IV is a hex string. Defaults to True. Returns: Chepy: The Chepy object. Examples: >>> c = Chepy("f8b27a0d8c837edce87dd13a1ab41f96") >>> c.hex_to_str() >>> c.triple_des_decrypt("super secret password !!") >>> c.o b"some data" """ self.__check_mode(mode) key, iv = self._convert_key(key, iv, hex_key, hex_iv) if mode == "CBC": cipher = DES3.new(key, mode=DES3.MODE_CBC, iv=iv) self.state = unpad(cipher.decrypt(self._convert_to_bytes()), 8) return self elif mode == "ECB": cipher = DES3.new(key, mode=DES3.MODE_ECB) self.state = unpad(cipher.decrypt(self._convert_to_bytes()), 8) return self elif mode == "CTR": cipher = DES3.new(key, mode=DES3.MODE_CTR, nonce=b"") self.state = cipher.decrypt(self._convert_to_bytes()) return self elif mode == "OFB": cipher = DES3.new(key, mode=DES3.MODE_OFB, iv=iv) self.state = cipher.decrypt(self._convert_to_bytes()) return self
Example #6
Source File: encryptionencoding.py From chepy with GNU General Public License v3.0 | 5 votes |
def blowfish_encrypt( self, key: str, iv: str = "0000000000000000", mode: str = "CBC", hex_key: bool = False, hex_iv: bool = True, ): """Encrypt raw state with Blowfish Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention. IV: The Initialization Vector should be 8 bytes long. Args: key (str): Required. The secret key iv (str, optional): IV for certain modes only. Defaults to '0000000000000000'. mode (str, optional): Encryption mode. Defaults to 'CBC'. hex_key (bool, optional): If the secret key is a hex string. Defaults to False. hex_iv (bool, optional): If the IV is a hex string. Defaults to True. Returns: Chepy: The Chepy object. Examples: >>> Chepy("some data").blowfish_encrypt("password", mode="ECB").o b"d9b0a79853f139603951bff96c3d0dd5" """ self.__check_mode(mode) key, iv = self._convert_key(key, iv, hex_key, hex_iv) if mode == "CBC": cipher = Blowfish.new(key, mode=Blowfish.MODE_CBC, iv=iv) self.state = cipher.encrypt(pad(self._convert_to_bytes(), 8)) return self elif mode == "ECB": cipher = Blowfish.new(key, mode=Blowfish.MODE_ECB) self.state = cipher.encrypt(pad(self._convert_to_bytes(), 8)) return self elif mode == "CTR": cipher = Blowfish.new(key, mode=Blowfish.MODE_CTR, nonce=b"") self.state = cipher.encrypt(self._convert_to_bytes()) return self elif mode == "OFB": cipher = Blowfish.new(key, mode=Blowfish.MODE_OFB, iv=iv) self.state = cipher.encrypt(self._convert_to_bytes()) return self
Example #7
Source File: encrypt.py From GloboNetworkAPI with Apache License 2.0 | 5 votes |
def encrypt_key(text, salt_key): try: bs = Blowfish.block_size extra_bytes = len(text) % bs padding_size = bs - extra_bytes padding = chr(padding_size) * padding_size padded_text = text + padding crypt_obj = Blowfish.new(salt_key, Blowfish.MODE_ECB) cipher = crypt_obj.encrypt(padded_text) return cipher except Exception as ERROR: log.error(ERROR)
Example #8
Source File: encrypt.py From GloboNetworkAPI with Apache License 2.0 | 5 votes |
def decrypt_key(cipher, salt_key): try: crypt_obj = Blowfish.new(salt_key, Blowfish.MODE_ECB) decrypted_key = crypt_obj.decrypt(cipher) padding_size = ord(decrypted_key[-1]) text = decrypted_key[:-padding_size] log.debug("Decrypt key was made successfully") return str(text) except Exception as ERROR: log.error(ERROR)
Example #9
Source File: ch52_part2.py From matasano with GNU General Public License v3.0 | 5 votes |
def G(message, state=b'\x00\x00', stateLen=3): newState = state newState = padPKCS7(newState) for i in range(GetNumBlocks(message)): cipher = Blowfish.new(newState, Blowfish.MODE_ECB) newState = cipher.encrypt(GetBlock(message, i)) newState = padPKCS7(newState[:stateLen]) return newState[:stateLen]
Example #10
Source File: encryptionencoding.py From chepy with GNU General Public License v3.0 | 5 votes |
def des_decrypt( self, key: str, iv: str = "0000000000000000", mode: str = "CBC", hex_key: bool = False, hex_iv: bool = True, ): """Decrypt raw state encrypted with DES. DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size. DES uses a key length of 8 bytes (64 bits).<br>Triple DES uses a key length of 24 bytes. You can generate a password-based key using one of the KDF operations. The Initialization Vector should be 8 bytes long. If not entered, it will default to 8 null bytes. Padding: In CBC and ECB mode, PKCS#7 padding will be used. Args: key (str): Required. The secret key iv (str, optional): IV for certain modes only. Defaults to '0000000000000000'. mode (str, optional): Encryption mode. Defaults to 'CBC'. hex_key (bool, optional): If the secret key is a hex string. Defaults to False. hex_iv (bool, optional): If the IV is a hex string. Defaults to True. Returns: Chepy: The Chepy object. Examples: >>> Chepy("1ee5cb52954b211d1acd6e79c598baac").hex_to_str().des_decrypt("password").o b"some data" """ self.__check_mode(mode) key, iv = self._convert_key(key, iv, hex_key, hex_iv) if mode == "CBC": cipher = DES.new(key, mode=DES.MODE_CBC, iv=iv) self.state = unpad(cipher.decrypt(self._convert_to_bytes()), 8) return self elif mode == "ECB": cipher = DES.new(key, mode=DES.MODE_ECB) self.state = unpad(cipher.decrypt(self._convert_to_bytes()), 8) return self elif mode == "CTR": cipher = DES.new(key, mode=DES.MODE_CTR, nonce=b"") self.state = cipher.decrypt(self._convert_to_bytes()) return self elif mode == "OFB": cipher = DES.new(key, mode=DES.MODE_OFB, iv=iv) self.state = cipher.decrypt(self._convert_to_bytes()) return self
Example #11
Source File: rtve.py From streamlink with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, key, session): self.cipher = Blowfish.new(key, Blowfish.MODE_ECB) self.session = session
Example #12
Source File: Transform.py From deprecated-binaryninja-python with GNU General Public License v2.0 | 5 votes |
def populate_transform_menu(menu, obj, action_table): aes_menu = menu.addMenu("AES") aes_ecb_menu = aes_menu.addMenu("ECB mode") aes_cbc_menu = aes_menu.addMenu("CBC mode") action_table[aes_ecb_menu.addAction("Encrypt")] = lambda: obj.transform_with_key(lambda data, key: aes_encrypt_transform(data, key, AES.MODE_ECB, "")) action_table[aes_ecb_menu.addAction("Decrypt")] = lambda: obj.transform_with_key(lambda data, key: aes_decrypt_transform(data, key, AES.MODE_ECB, "")) action_table[aes_cbc_menu.addAction("Encrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: aes_encrypt_transform(data, key, AES.MODE_CBC, iv)) action_table[aes_cbc_menu.addAction("Decrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: aes_decrypt_transform(data, key, AES.MODE_CBC, iv)) blowfish_menu = menu.addMenu("Blowfish") blowfish_ecb_menu = blowfish_menu.addMenu("ECB mode") blowfish_cbc_menu = blowfish_menu.addMenu("CBC mode") action_table[blowfish_ecb_menu.addAction("Encrypt")] = lambda: obj.transform_with_key(lambda data, key: blowfish_encrypt_transform(data, key, Blowfish.MODE_ECB, "")) action_table[blowfish_ecb_menu.addAction("Decrypt")] = lambda: obj.transform_with_key(lambda data, key: blowfish_decrypt_transform(data, key, Blowfish.MODE_ECB, "")) action_table[blowfish_cbc_menu.addAction("Encrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: blowfish_encrypt_transform(data, key, Blowfish.MODE_CBC, iv)) action_table[blowfish_cbc_menu.addAction("Decrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: blowfish_decrypt_transform(data, key, Blowfish.MODE_CBC, iv)) cast_menu = menu.addMenu("CAST") cast_ecb_menu = cast_menu.addMenu("ECB mode") cast_cbc_menu = cast_menu.addMenu("CBC mode") action_table[cast_ecb_menu.addAction("Encrypt")] = lambda: obj.transform_with_key(lambda data, key: cast_encrypt_transform(data, key, CAST.MODE_ECB, "")) action_table[cast_ecb_menu.addAction("Decrypt")] = lambda: obj.transform_with_key(lambda data, key: cast_decrypt_transform(data, key, CAST.MODE_ECB, "")) action_table[cast_cbc_menu.addAction("Encrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: cast_encrypt_transform(data, key, CAST.MODE_CBC, iv)) action_table[cast_cbc_menu.addAction("Decrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: cast_decrypt_transform(data, key, CAST.MODE_CBC, iv)) des_menu = menu.addMenu("DES") des_ecb_menu = des_menu.addMenu("ECB mode") des_cbc_menu = des_menu.addMenu("CBC mode") action_table[des_ecb_menu.addAction("Encrypt")] = lambda: obj.transform_with_key(lambda data, key: des_encrypt_transform(data, key, DES.MODE_ECB, "")) action_table[des_ecb_menu.addAction("Decrypt")] = lambda: obj.transform_with_key(lambda data, key: des_decrypt_transform(data, key, DES.MODE_ECB, "")) action_table[des_cbc_menu.addAction("Encrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: des_encrypt_transform(data, key, DES.MODE_CBC, iv)) action_table[des_cbc_menu.addAction("Decrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: des_decrypt_transform(data, key, DES.MODE_CBC, iv)) des3_menu = menu.addMenu("Triple DES") des3_ecb_menu = des3_menu.addMenu("ECB mode") des3_cbc_menu = des3_menu.addMenu("CBC mode") action_table[des3_ecb_menu.addAction("Encrypt")] = lambda: obj.transform_with_key(lambda data, key: des3_encrypt_transform(data, key, DES3.MODE_ECB, "")) action_table[des3_ecb_menu.addAction("Decrypt")] = lambda: obj.transform_with_key(lambda data, key: des3_decrypt_transform(data, key, DES3.MODE_ECB, "")) action_table[des3_cbc_menu.addAction("Encrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: des3_encrypt_transform(data, key, DES3.MODE_CBC, iv)) action_table[des3_cbc_menu.addAction("Decrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: des3_decrypt_transform(data, key, DES3.MODE_CBC, iv)) rc2_menu = menu.addMenu("RC2") rc2_ecb_menu = rc2_menu.addMenu("ECB mode") rc2_cbc_menu = rc2_menu.addMenu("CBC mode") action_table[rc2_ecb_menu.addAction("Encrypt")] = lambda: obj.transform_with_key(lambda data, key: rc2_encrypt_transform(data, key, ARC2.MODE_ECB, "")) action_table[rc2_ecb_menu.addAction("Decrypt")] = lambda: obj.transform_with_key(lambda data, key: rc2_decrypt_transform(data, key, ARC2.MODE_ECB, "")) action_table[rc2_cbc_menu.addAction("Encrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: rc2_encrypt_transform(data, key, ARC2.MODE_CBC, iv)) action_table[rc2_cbc_menu.addAction("Decrypt")] = lambda: obj.transform_with_key_and_iv(lambda data, key, iv: rc2_decrypt_transform(data, key, ARC2.MODE_CBC, iv)) action_table[menu.addAction("RC4")] = lambda: obj.transform_with_key(lambda data, key: rc4_transform(data, key)) action_table[menu.addAction("XOR")] = lambda: obj.transform_with_key(lambda data, key: xor_transform(data, key))
Example #13
Source File: test_Blowfish.py From FODI with GNU General Public License v3.0 | 5 votes |
def runTest(self): self.assertRaises(ValueError, Blowfish.new, bchr(0) * 3, Blowfish.MODE_ECB) self.assertRaises(ValueError, Blowfish.new, bchr(0) * 57, Blowfish.MODE_ECB)
Example #14
Source File: test_Blowfish.py From FODI with GNU General Public License v3.0 | 5 votes |
def runTest(self): # Encrypt/Decrypt data and test output parameter cipher = Blowfish.new(b'4'*16, Blowfish.MODE_ECB) pt = b'5' * 16 ct = cipher.encrypt(pt) output = bytearray(16) res = cipher.encrypt(pt, output=output) self.assertEqual(ct, output) self.assertEqual(res, None) res = cipher.decrypt(ct, output=output) self.assertEqual(pt, output) self.assertEqual(res, None) import sys if sys.version[:3] != '2.6': output = memoryview(bytearray(16)) cipher.encrypt(pt, output=output) self.assertEqual(ct, output) cipher.decrypt(ct, output=output) self.assertEqual(pt, output) self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) shorter_output = bytearray(7) self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output)
Example #15
Source File: pycarwings2.py From pycarwings2 with Apache License 2.0 | 5 votes |
def connect(self): self.custom_sessionid = None self.logged_in = False response = self._request("InitialApp.php", { "RegionCode": self.region_code, "lg": "en-US", }) ret = CarwingsInitialAppResponse(response) c1 = Blowfish.new(ret.baseprm, Blowfish.MODE_ECB) packedPassword = _PKCS5Padding(self.password) encryptedPassword = c1.encrypt(packedPassword) encodedPassword = base64.standard_b64encode(encryptedPassword) response = self._request("UserLoginRequest.php", { "RegionCode": self.region_code, "UserId": self.username, "Password": encodedPassword, }) ret = CarwingsLoginResponse(response) self.custom_sessionid = ret.custom_sessionid self.gdc_user_id = ret.gdc_user_id log.debug("gdc_user_id: %s" % self.gdc_user_id) self.dcm_id = ret.dcm_id log.debug("dcm_id: %s" % self.dcm_id) self.tz = ret.tz log.debug("tz: %s" % self.tz) self.language = ret.language log.debug("language: %s" % self.language) log.debug("vin: %s" % ret.vin) log.debug("nickname: %s" % ret.nickname) self.leaf = Leaf(self, ret.leafs[0]) self.logged_in = True return ret
Example #16
Source File: decrypt.py From MHWorldData with MIT License | 5 votes |
def CapcomBlowfish(data, key): cipher = Blowfish.new(key, Blowfish.MODE_ECB) return endianness_reversal(cipher.decrypt(endianness_reversal(data)))
Example #17
Source File: test_Blowfish.py From android_universal with MIT License | 5 votes |
def runTest(self): self.assertRaises(ValueError, Blowfish.new, bchr(0) * 3, Blowfish.MODE_ECB) self.assertRaises(ValueError, Blowfish.new, bchr(0) * 57, Blowfish.MODE_ECB)
Example #18
Source File: test_Blowfish.py From android_universal with MIT License | 5 votes |
def runTest(self): # Encrypt/Decrypt data and test output parameter cipher = Blowfish.new(b'4'*16, Blowfish.MODE_ECB) pt = b'5' * 16 ct = cipher.encrypt(pt) output = bytearray(16) res = cipher.encrypt(pt, output=output) self.assertEqual(ct, output) self.assertEqual(res, None) res = cipher.decrypt(ct, output=output) self.assertEqual(pt, output) self.assertEqual(res, None) import sys if sys.version[:3] != '2.6': output = memoryview(bytearray(16)) cipher.encrypt(pt, output=output) self.assertEqual(ct, output) cipher.decrypt(ct, output=output) self.assertEqual(pt, output) self.assertRaises(TypeError, cipher.encrypt, pt, output=b'0'*16) self.assertRaises(TypeError, cipher.decrypt, ct, output=b'0'*16) shorter_output = bytearray(7) self.assertRaises(ValueError, cipher.encrypt, pt, output=shorter_output) self.assertRaises(ValueError, cipher.decrypt, ct, output=shorter_output)