本文整理汇总了Python中Crypto.Cipher.Blowfish.MODE_ECB属性的典型用法代码示例。如果您正苦于以下问题:Python Blowfish.MODE_ECB属性的具体用法?Python Blowfish.MODE_ECB怎么用?Python Blowfish.MODE_ECB使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类Crypto.Cipher.Blowfish
的用法示例。
在下文中一共展示了Blowfish.MODE_ECB属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: encrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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)
示例2: decrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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()
示例3: __init__
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
def __init__(self, key, session):
self.cipher = Blowfish.new(key, Blowfish.MODE_ECB)
self.session = session
示例4: encrypt_key
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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)
示例5: decrypt_key
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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)
示例6: G
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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]
示例7: runTest
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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)
示例8: connect
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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
示例9: CapcomBlowfish
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
def CapcomBlowfish(data, key):
cipher = Blowfish.new(key, Blowfish.MODE_ECB)
return endianness_reversal(cipher.decrypt(endianness_reversal(data)))
示例10: des_encrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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
示例11: des_decrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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
示例12: triple_des_encrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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
示例13: triple_des_decrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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
示例14: blowfish_encrypt
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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
示例15: populate_transform_menu
# 需要导入模块: from Crypto.Cipher import Blowfish [as 别名]
# 或者: from Crypto.Cipher.Blowfish import MODE_ECB [as 别名]
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))