Quyidagi kod Trismus shifrlash algoritmini Python dasturida bajarish uchun yaratingan: class TrismusCipher:
def __init__(self, key):
self.key = key.upper()
self.alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
self.matrix = self.generate_matrix()
def encrypt(self, text):
text = text.upper().replace(" ", "")
result = ""
for char in text:
col = self.matrix.index(char)
encrypted_col = self.key[col % len(self.key)]
encrypted_char = self.alphabet[self.matrix.index(encrypted_col)]
result += encrypted_char
return result
def decrypt(self, text):
result = ""
for char in text:
col = self.key.index(char)
decrypted_col = self.matrix[col % len(self.key)]
decrypted_char = self.alphabet[self.matrix.index(decrypted_col)]
result += decrypted_char
return result
def generate_matrix(self):
matrix = []
for char in self.key:
if char not in matrix:
matrix.append(char)
for char in self.alphabet:
if char not in matrix:
matrix.append(char)
matrix = [matrix[i:i+5] for i in range(0, 25, 5)]
return matrix
# Testimiz
trismus_cipher = TrismusCipher("EXAMPLEKEY")
encrypted_text = trismus_cipher.encrypt("Assalomu alaykum, dunyo!")
print("Shifrlangan matn:", encrypted_text)
decrypted_text = trismus_cipher.decrypt(encrypted_text)
print("Asl matn:", decrypted_text)
ADABIYOTLAR RO’YXATI
1. Акбаров Д. Е. Ахборот хавфсизлигини таъминлашнинг криптографик усуллари ва уларнинг қўлланилиши – Т 2008
2. Арипов М.М., Пудовченко Ю.Е. Основы криптологии – Ташкент: 2004.
3. Бабаш А.В., Гольев Ю.И., Ларин Д.А. Шанкин Г.П. Криптографические идеи XIX века. Защита информации. Конфидент. 2004 г
4. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. –М.: издательство ТРИУМФ, 2003 Жельников В. Криптография от папируса до компьютера. М. АВF, 1997. – 336 c.
5. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии: Учебное пособие, 2-е изд. –М.: Гелиос АРВ, 2002.-480 с.
6. Vernam G.S. Cipher printing telegraph systems for secret wire and radio telegraphic communications, «J. Amer. Inst. Elec. Eng., vol. 55, pp. 109-115, 1926.