[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2024-11-23 23:44:43 +00:00
parent 47adce5867
commit a23b0f5177

View File

@ -1,5 +1,6 @@
import math
def encrypt_columnar_cipher(message: str, key: str) -> str:
"""
Encrypts a message using the Columnar Transposition Cipher.
@ -14,13 +15,13 @@ def encrypt_columnar_cipher(message: str, key: str) -> str:
num_rows = math.ceil(len(message) / num_cols)
# Fill the grid with characters
grid = [''] * num_cols
grid = [""] * num_cols
for i, char in enumerate(message):
grid[i % num_cols] += char
# Sort columns based on the key order
sorted_key_indices = sorted(range(len(key)), key=lambda k: key[k])
ciphertext = ''.join([grid[i] for i in sorted_key_indices])
ciphertext = "".join([grid[i] for i in sorted_key_indices])
return ciphertext
@ -41,17 +42,17 @@ def decrypt_columnar_cipher(ciphertext: str, key: str) -> str:
sorted_key_indices = sorted(range(len(key)), key=lambda k: key[k])
col_lengths = [num_rows] * num_cols
for i in range(num_shaded_boxes):
col_lengths[sorted_key_indices[-(i+1)]] -= 1
col_lengths[sorted_key_indices[-(i + 1)]] -= 1
# Distribute ciphertext into columns based on the sorted key
grid = []
start = 0
for col_length in col_lengths:
grid.append(ciphertext[start:start + col_length])
grid.append(ciphertext[start : start + col_length])
start += col_length
# Rebuild plaintext row by row
plaintext = ''
plaintext = ""
for i in range(num_rows):
for j in range(num_cols):
if i < len(grid[sorted_key_indices[j]]):