목록암호화 (9)
SeouliteLab
RSA는 공개키 암호화 알고리즘 중 가장 널리 사용되는 알고리즘으로, 데이터를 안전하게 전송하고 서명하는 데에 활용됩니다. 파이썬에서 RSA 암호화를 구현하고 사용하기 위해서는 PyCryptodome 라이브러리를 사용할 수 있습니다. 이 블로그에서는 PyCryptodome를 사용하여 RSA 암호화를 다루는 방법에 대해 알아보겠습니다. 1. 키 생성하기 RSA 암호화를 위해 공개키와 개인키를 생성하는 방법을 살펴보겠습니다. from Crypto.PublicKey import RSA # 키 생성 key = RSA.generate(2048) # 공개키와 개인키 추출 public_key = key.publickey().export_key() private_key = key.export_key() # 키 출력 p..
Rijndael은 대칭키 암호화 알고리즘 중 하나로, 안전한 데이터 전송 및 보호를 위해 널리 사용됩니다. 파이썬에서 Rijndael 암호화를 구현하고 사용하기 위해서는 PyCryptodome 라이브러리를 활용할 수 있습니다. 이 블로그에서는 PyCryptodome를 사용하여 Rijndael 암호화를 다루는 방법에 대해 알아보겠습니다. 1. 텍스트 암호화하기 가장 기본적인 예제로, 텍스트를 Rijndael로 암호화하고 해독하는 과정을 살펴보겠습니다. from Crypto.Cipher import AES from Crypto.Random import get_random_bytes # 키 생성 key = get_random_bytes(16) # 암호화 cipher = AES.new(key, AES.MODE_..
GPG(GNU Privacy Guard)는 데이터의 암호화 및 전자 서명을 지원하는 오픈 소스 암호화 소프트웨어입니다. 파이썬에서 GPG를 사용하여 데이터를 암호화하거나 복호화할 수 있는 라이브러리인 pygpgme를 사용하면 편리합니다. 이번에는 pygpgme를 사용하여 파이썬에서 GPG를 활용하는 방법을 알아보겠습니다. 예제 1: 텍스트 암호화 및 복호화 import gpg # GPG 객체 생성 gpgme = gpg.Context() # 암호화할 텍스트 plain_text = "암호화할 내용입니다." # 암호화 cipher_text, _ = gpgme.encrypt(plain_text, recipients=["recipient@example.com"]) # 복호화 decrypted_text, _ = g..
파이썬에서 데이터를 암호화하고 복호화하는 기능은 매우 중요합니다. 그 중에서도 pycrypto는 파이썬에서 가장 널리 사용되는 암호화 라이브러리 중 하나입니다. 이번에는 pycrypto를 사용하여 데이터를 암호화하고 복호화하는 방법을 알아보겠습니다. 예제 1: 대칭키 암호화 from Crypto.Cipher import AES from Crypto.Random import get_random_bytes # 키 생성 key = get_random_bytes(16) # 암호화 cipher = AES.new(key, AES.MODE_EAX) plaintext = b"Hello, world!" ciphertext, tag = cipher.encrypt_and_digest(plaintext) print("암호화된..
기능 1: ECC 키 생성 및 서명/검증 ecdsa는 파이썬에서 ECC 기반의 서명 및 검증을 위한 라이브러리입니다. ECC는 공개키 암호화 방식 중 하나로, 작은 키 사이즈에도 강력한 보안을 제공합니다. ecdsa를 사용하여 ECC 키를 생성하고 메시지에 서명하거나 서명을 검증할 수 있습니다. 예제 1: ECC 키 생성 및 서명/검증 import ecdsa # ECC 키 쌍 생성 sk = ecdsa.SigningKey.generate() vk = sk.verifying_key # 메시지 서명 message = b"Hello, world!" signature = sk.sign(message) # 서명 검증 try: assert vk.verify(signature, message) print("서명 검증 ..
cryptography는 파이썬에서 데이터 보안을 강화하는 데 사용되는 라이브러리입니다. 이를 통해 암호화, 복호화, 서명, 해싱 등의 다양한 보안 기능을 구현할 수 있습니다. 아래는 cryptography의 주요 기능과 사용법을 소개합니다. 기능 1: 암호화 및 복호화 cryptography를 사용하여 데이터를 암호화하고 복호화할 수 있습니다. 대칭키 및 비대칭키 암호화 방식을 모두 지원합니다. 예제 1: AES 대칭키 암호화 및 복호화 from cryptography.fernet import Fernet # 키 생성 key = Fernet.generate_key() cipher = Fernet(key) # 암호화 message = b"안녕하세요, 데이터를 암호화합니다." encrypted_messag..
TLS(Transport Layer Security)는 인터넷에서 데이터 통신을 보호하기 위한 프로토콜 중 하나로, 주로 웹 브라우저와 웹 서버 간의 통신을 안전하게 만들어 줍니다. TLS의 기본 개념 TLS는 SSL(Secure Sockets Layer)의 후속 버전으로, 데이터를 안전하게 전송하기 위해 사용됩니다. TLS는 암호화, 인증 및 무결성 보호를 포함한 여러 보안 기능을 제공하여 데이터의 보안성을 강화합니다. TLS의 작동 원리 TLS는 클라이언트와 서버 간의 통신을 보호하기 위해 공개키 암호화를 사용합니다. 클라이언트가 서버에 연결 요청을 보내면, 서버는 공개키를 제공합니다. 클라이언트는 이 공개키를 사용하여 데이터를 암호화하여 서버로 전송합니다. 서버는 자신의 개인키를 사용하여 이 데이터..
SSL(Secure Sockets Layer)은 인터넷 상에서 정보를 안전하게 전송하기 위한 표준 보안 기술 중 하나입니다. 이 기술은 웹 브라우저와 웹 서버 간의 통신을 보호하여 제3자가 중간에서 데이터를 엿보거나 조작하는 것을 방지합니다. SSL의 작동 원리 SSL은 공개키 암호화 방식을 사용하여 작동합니다. 클라이언트(웹 브라우저)가 서버에 접속할 때 서버는 공개키를 제공합니다. 클라이언트는 이 공개키를 사용하여 데이터를 암호화하여 서버로 전송합니다. 서버는 자신의 비밀키를 사용하여 이 데이터를 해독합니다. SSL의 중요성 SSL은 인터넷 상에서 개인 정보와 기밀 정보를 안전하게 전송하는 데 중요한 역할을 합니다. 온라인 상에서 비밀번호, 신용 카드 정보 등 민감한 정보를 주고 받을 때 SSL을 사..
LTPA(Lightweight Third Party Authentication) LTPA(Lightweight Third Party Authentication)는 분산 다중 Application Server 및 시스템 환경을 위한 것입니다. 이것은 전달 가능한 신임 및 SSO(single signon)를 지원합니다. LTPA는 암호화를 통해 분산 환경에서 보안을 지원할 수 있습니다. 이것으로 LTPA는 인증 관련 데이터를 암호화하고 디지털 서명하여 안전하게 전송한 후 암호를 해독하여 서명을 검증할 수 있습니다.LTDA(Lightweight Third Party Authentication) 프로토콜을 사용하여 WebSphere Application Server는 암호화를 사용하는 분산 환경에 보안을 제공합..