import argparse
class CaesarAlgorithm:
def encrypt(self, message, key, alphabet):
# start with empty ciphertext
ciphertext = ""
# iterate through each character in message
for old_character in message:
new_character = ""
# if character is in alphabet -> append to ciphertext
if(old_character in alphabet):
index = alphabet.index(old_character)
new_index = (index + key) % len(alphabet)
new_character = alphabet[new_index]
# Note: characters not defined in the alphabet are ignored
# add new character to ciphertext
ciphertext = ciphertext + new_character
# return ciphertext to calling function
return ciphertext
def decrypt(self, message, key, alphabet):
# decrypting is like encrypting but with negative key
plaintext = self.encrypt(message, 0 - key, alphabet)
# return plaintext to calling function
return plaintext
# parse the arguments (args) given via the command line
parser = argparse.ArgumentParser()
parser.add_argument("-e", "--encrypt", dest="encrypt_or_decrypt", action="store_true")
parser.add_argument("-d", "--decrypt", dest="encrypt_or_decrypt", action="store_false")
parser.add_argument("-m", "--message", help="message for encrypt / decrypt", type=str)
parser.add_argument("-k", "--key", help="key for encrypt / decrypt", type=int)
parser.add_argument("-a", "--alphabet", help="defined alphabet", type=str)
ciphertext="Cq ligss’v vcjandd ujw, wuqjwgausjkq cv ulxucdd zrj mhuouahj lbh nuvl upgoqlm rx mhfmllcyw cqxiueuwaiq kbdjyg ghoahh, xlre jhjmrfuo vuws nr fuwaiqsf vwwuwnv. Sm fqvhj nkjydlm ewwrey lfwuwuvahjds vgjkamwawdlyg, ulbhnryldhbb whdtfhk mdxy fggpmhluuwaiq, hlrlyflcqy yywlblblfa ijip ghoahh tuqccqy nushvswwaiqk uqv ghvcfsf uwwrjxv li sjcysnh uiqnyukuwaiqk. Cw hlrncgwm wzy eswntiqw zrj xdlu lfnhyllls dfx fghiaxhfnlsflls, hfmxjcqy nksn rffb ahwwhgwx uwwlhchfnv uuq swfwmv kyqkcwaph vuws uqv nksn ll lheulfm xfwkshjwx gmllfa wjuqkglkmlgh. Fjsslijjuszs qgn rffb kuiwaxslgk cqvcyaxxsfv’ hllnufq vxl uoki xfxhjjlfm jdiesf fggpwlfw, mhuouw wregxfcfsnlghv, shg fuwaiqsf vwwxjcwq, gdccqy cw ahgamswhvsvow cq s qrjfg lbdl lhdchk iq vcjandd nummw."
# Simulate command-line arguments
# Replace with your desired values
args = parser.parse_args(["-d", "-m", ciphertext, "-k", "3", "-a", "abcdefghijklmnopqrstuvwxyz"])
# create caesar instance
caesar = CaesarAlgorithm()
# if --encrypt -> call encrypt function
if(args.encrypt_or_decrypt == True):
print(caesar.encrypt(args.message, args.key, args.alphabet))
# if --decrypt -> call decrypt function
else:
print(caesar.decrypt(args.message, args.key, args.alphabet))
До сих пор мне не удалось использовать обычный текст и найти идентифицированный ключ.
Даже я пытался использовать следующие онлайн-инструменты и найти ключ вручную, но пока не смог:
Я хочу расшифровать следующий классический зашифрованный текст, не зная ключа: [code]Cq ligss’v vcjandd ujw, wuqjwgausjkq cv ulxucdd zrj mhuouahj lbh nuvl upgoqlm rx mhfmllcyw cqxiueuwaiq kbdjyg ghoahh, xlre jhjmrfuo vuws nr fuwaiqsf vwwuwnv. Sm fqvhj nkjydlm ewwrey lfwuwuvahjds vgjkamwawdlyg, ulbhnryldhbb whdtfhk mdxy fggpmhluuwaiq, hlrlyflcqy yywlblblfa ijip ghoahh tuqccqy nushvswwaiqk uqv ghvcfsf uwwrjxv li sjcysnh uiqnyukuwaiqk. Cw hlrncgwm wzy eswntiqw zrj xdlu lfnhyllls dfx fghiaxhfnlsflls, hfmxjcqy nksn rffb ahwwhgwx uwwlhchfnv uuq swfwmv kyqkcwaph vuws uqv nksn ll lheulfm xfwkshjwx gmllfa wjuqkglkmlgh. Fjsslijjuszs qgn rffb kuiwaxslgk cqvcyaxxsfv’ hllnufq vxl uoki xfxhjjlfm jdiesf fggpwlfw, mhuouw wregxfcfsnlghv, shg fuwaiqsf vwwxjcwq, gdccqy cw ahgamswhvsvow cq s qrjfg lbdl lhdchk iq vcjandd nummw. [/code] До сих пор я безуспешно использовал различные онлайн-инструменты. Из этого источника я использовал код Python, чтобы достичь: [list] [*]Обычный текст [*]Поиск ключа [/list] [code]import argparse
class CaesarAlgorithm:
def encrypt(self, message, key, alphabet):
# start with empty ciphertext ciphertext = ""
# iterate through each character in message for old_character in message: new_character = ""
# if character is in alphabet -> append to ciphertext if(old_character in alphabet): index = alphabet.index(old_character) new_index = (index + key) % len(alphabet) new_character = alphabet[new_index]
# Note: characters not defined in the alphabet are ignored
# add new character to ciphertext ciphertext = ciphertext + new_character
# return ciphertext to calling function return ciphertext
def decrypt(self, message, key, alphabet):
# decrypting is like encrypting but with negative key plaintext = self.encrypt(message, 0 - key, alphabet)
# return plaintext to calling function return plaintext
# parse the arguments (args) given via the command line parser = argparse.ArgumentParser() parser.add_argument("-e", "--encrypt", dest="encrypt_or_decrypt", action="store_true") parser.add_argument("-d", "--decrypt", dest="encrypt_or_decrypt", action="store_false") parser.add_argument("-m", "--message", help="message for encrypt / decrypt", type=str) parser.add_argument("-k", "--key", help="key for encrypt / decrypt", type=int) parser.add_argument("-a", "--alphabet", help="defined alphabet", type=str)
# Simulate command-line arguments # Replace with your desired values args = parser.parse_args(["-d", "-m", ciphertext, "-k", "3", "-a", "abcdefghijklmnopqrstuvwxyz"])
# create caesar instance caesar = CaesarAlgorithm()
# if --encrypt -> call encrypt function if(args.encrypt_or_decrypt == True): print(caesar.encrypt(args.message, args.key, args.alphabet))
# if --decrypt -> call decrypt function else: print(caesar.decrypt(args.message, args.key, args.alphabet)) [/code] До сих пор мне не удалось использовать обычный текст и найти идентифицированный ключ. Даже я пытался использовать следующие онлайн-инструменты и найти ключ вручную, но пока не смог: [list] [*]https://cryptii.com/pipes/caesar-cipher [*]https://ciphereditor.com/ исследовать/цезарь-шифр [*]https://www.dcode.fr/caesar-cipher [/list]
Я не могу использовать выходные данные EVP_DecodeBlock в качестве iv, а зашифрованный текст для расшифровки используйте EVP_CIPHER_CTX.
Когда я инициализирую iv или зашифрованный текст вручную (с фактическими значениями, а не 00) :
unsigned char iv...
Я не могу использовать выходные данные EVP_DecodeBlock в качестве iv, а зашифрованный текст для расшифровки используйте EVP_CIPHER_CTX.
Когда я инициализирую iv или зашифрованный текст вручную (с фактическими значениями, а не 00) :
unsigned char iv...
Привет, я использую библиотеку шифрования безопасности Jetpack для шифрования файла. Я сгенерировал главный ключ с помощью приведенного ниже кода.
MasterKey masterKey = null;
try {
masterKey = new
MasterKey.Builder(context,...