34 lines
840 B
Markdown
34 lines
840 B
Markdown
# Question: Easy1
|
||
### Key: picoCTF{CRYPTOISFUN}
|
||
|
||
**Core concept: Vigenere Cypher - Decrypted character=(Encrypted character−Key character+26)mod26**
|
||
|
||
Can be solved by an easy Python script:
|
||
|
||
```py
|
||
def decrypt_vigenere(encrypted_text, key):
|
||
decrypted_text = ""
|
||
key_length = len(key)
|
||
|
||
for i in range(len(encrypted_text)):
|
||
encrypted_char_pos = ord(encrypted_text[i]) - ord('A')
|
||
key_char_pos = ord(key[i % key_length]) - ord('A')
|
||
|
||
decrypted_char_pos = (encrypted_char_pos - key_char_pos + 26) % 26
|
||
|
||
decrypted_char = chr(decrypted_char_pos + ord('A'))
|
||
|
||
decrypted_text += decrypted_char
|
||
|
||
return decrypted_text
|
||
|
||
|
||
encrypted_flag = "UFJKXQZQUNB"
|
||
key = "SOLVECRYPTO"
|
||
|
||
decrypted_flag = decrypt_vigenere(encrypted_flag, key)
|
||
print("Decrypted Flag:", decrypted_flag)
|
||
```
|
||
|
||
Output: CRYPTOISFUN
|